我正在编写一个脚本来自动设置新的python项目。我像这样创建了一个新的虚拟环境:
class PyAutoProject:
def __init__(self):
self.venv_dir = 'venv'
def create_venv(self):
envbuilder = venv.EnvBuilder(with_pip=True)
envbuilder.create(self.venv_dir)
我想从脚本将软件包安装到该 venv 中,而它从它自己的 virtualenv 运行。这可能吗?
这是 5 年后的答案......
import venv
import subprocess
from os.path import abspath
venv_dir = "venv"
venv.create(venv_dir, with_pip=True)
# assuming requirements.txt in same dir as this script
run(["bin/pip", "install", "-r", abspath("requirements.txt")], cwd=venv_dir)