我想动态创建,销毁和使用包含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')
谢谢
答案 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"])
编辑1:
还包括如何在脚本中使用pip。