venv相当于VirtualEnvironment()。install()

时间:2019-04-29 13:23:51

标签: python virtualenv python-venv

我想动态创建,销毁和使用包含pip加载的代码的Python虚拟环境。

virtualenvapi Python软件包看起来很有希望,因为它提供了一种使用install()来安装软件包的pip方法。它同时支持我需要的包名和URL参数。

但是,我宁愿使用venv,因为我不关心3.6之前的Python,虚拟环境很复杂,venv在标准库中,而virtualenvapi不是” t,并且有good arguments喜欢venv

venv通过venv.EnvBuilder()提供API支持。但是如何做到这一点呢?

env = VirtualEnvironment('/path/to/environment/name')
env.install('git+https://github.com/KarrLab/log.git#egg=log')

谢谢

1 个答案:

答案 0 :(得分:0)

.py 以下可能会满足您的需求。

import virtualenv
import pip
import os

# create and activate the virtual environment
venv_dir = os.path.join(os.path.expanduser("~"), ".venv")
virtualenv.create_environment(venv_dir)
execfile(os.path.join(venv_dir, "bin", "activate_this.py"))

# pip install a package using the venv as a prefix
pip.main(["install", "--prefix", venv_dir, "xmltodict"])

Referance

编辑1:

还包括如何在脚本中使用pip。