我想写一个python脚本,它做三件事:
-
使用python3构建虚拟环境
-
激活这个新的虚拟环境 . (bash:source myvirtenv / bin / acticate)
-
使用requirements.txt安装包(bash:pip install -r)
在我的项目中,我使用普通的virtualenviroment包 . 我必须在Debian机器上完成它 .
我试图用 os.system()
模仿bash命令但是没有使用下面的代码 .
import os
os.system('python3 -m venv test6_env')
os.system('source test6_env/bin/activate')
os.system('pip install -r requirements.txt --user')
问题virtualenv将不会激活,并且未安装要求 .
有没有一个简单的技巧来编写python这个3步骤很好的脚本?
1 回答
问题是
os.system('source test6_env/bin/activate')
仅为此特定os.system()
调用生成的子shell激活虚拟环境,而不是任何后续调用 . 相反,只需一次调用即可运行所有shell命令,例如或者,将您的命令放在shell脚本中并使用
os.system()
执行,或者更好的是,使用subprocess模块中的函数,例如,