venv эквивалентно VirtualEnvironment (). install () - PullRequest
1 голос
/ 29 апреля 2019

Я хочу динамически создавать, уничтожать и использовать виртуальные среды Python, содержащие код, загруженный pip.

Пакет virtualenvapi Python выглядит многообещающе, поскольку в нем предусмотрен метод install(), который использует pip для установки пакетов. Он поддерживает как имя пакета, так и URL-аргументы, оба из которых мне нужны.

Однако я бы предпочел использовать venv, так как меня не волнует Python ранее, чем 3.6, виртуальные среды сложны, venv есть в стандартной библиотеке, но virtualenvapi нет, и есть хорошие аргументы предпочтительнее venv.

venv обеспечивает поддержку API с venv.EnvBuilder(). Но как с этим справиться:

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

Спасибо

1 Ответ

0 голосов
/ 07 мая 2019

Ниже .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 со скриптом.

...