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

How can install Django project requirement.txt with python script

我正在为设置和 运行 整个 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。

目前,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,您不必先激活虚拟环境。