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

标签 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 中。

最佳答案

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

关于python - 如何使用python脚本安装Django项目requirement.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48903282/

相关文章:

python - OptionParser python 模块 - 同一变量的多个条目?

python - 从字符串中删除 "."和 "\"

python - 我的家没有 .pypirc 文件,这在将 python 包注册到 PyPI 时给我一个错误

python - 在 Django 中重置 SQLite 数据库

python - 运行 Python 3.5 解释器需要哪些标准库模块?

python - 如何自定义 Flask admin QuerySelectMultipleField 选择?

Django休息框架: field name 'likes' is not valid for model 'userPost' improperlyConfigured

Django - 如何设置表单字段占位符的样式?

Python 实例化模块中的所有类

python - pandas.read_csv 与其他用于将 CSV 加载到 Postgres 数据库中的 csv 库