首页 文章

Python:如何编写虚拟环境构建和激活脚本?

提问于
浏览
1

我想写一个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 回答

  • 4

    问题是 os.system('source test6_env/bin/activate') 仅为此特定 os.system() 调用生成的子shell激活虚拟环境,而不是任何后续调用 . 相反,只需一次调用即可运行所有shell命令,例如

    os.system('python3 -m venv test6_env && . test6_env/bin/activate && pip install -r requirements.txt')
    

    或者,将您的命令放在shell脚本中并使用 os.system() 执行,或者更好的是,使用subprocess模块中的函数,例如,

    import subprocess
    subprocess.run('/path/to/script.sh', check=True)
    

相关问题