如何使用python脚本安装Django项目requirements.txt

时间:2018-02-21 10:14:18

标签: python django python-3.5

我正在创建一个用于设置和运行整个Django项目的脚本。

venv_parent_dir = os.path.abspath(os.path.join(os.getcwd(),os.pardir))
venv_dir = os.path.abspath(os.path.join(venv_parent_dir, 'fvenv'))
subprocess.run(args=['virtualenv', '-p', 'python3', venv_dir])
os.popen('/bin/bash --rcfile %s'%(venv_dir+'/bin/activate'))

使用上面的代码我创建了一个虚拟环境,然后激活它。现在我想在激活的虚拟环境中安装requirements.txt文件

subprocess.run(args=['pip3', 'install', '-r', 'requirements.txt'])

我尝试使用subprocess,但它不是在虚拟环境中安装,而是在操作系统Python中安装。

1 个答案:

答案 0 :(得分:2)

目前,os.popen命令不会影响subprocess.run运行的环境。这意味着您的subprocess.run来电正在使用系统pip3而不是来自virtualenv的pip。您可以使用完整路径来使用virtualenv中的pip

import os
pip = os.path.join(venv_dir, 'bin', 'pip')
subprocess.run(args=[pip, 'install', '-r', 'requirements.txt'])

使用/path/to/venv/bin/pip,您不必先激活虚拟环境。