Pyenv-virtualenv-это плагин Pyenv, который предоставляет функции для управления виртуальными и кондиционированными средами для Python в Unix-подобных системах.
(Обратите внимание: если вы являетесь существующим пользователем VirtualEnvWrapper и вам это нравится, Pyenv-virtualenvwrapper может помочь вам (дополнительно) управлять вашими виртуальными.)
Это установит новейшую версию разработки Pyenv-Virtualenv в каталог $(pyenv root)/plugins/pyenv-virtualenv
.
Важное примечание: если вы установили Pyenv в нестандартный каталог, убедитесь, что вы клонируете это репо в каталог «плагинов», где вы установили.
Изнутри этого каталога вы можете:
git pull
чтобы загрузить последние изменения.Проверьте Pyenv-virtualenv в каталог плагинов
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenv
Для рыбной раковины:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv
(Необязательно) Добавьте pyenv virtualenv-init
в свою оболочку, чтобы обеспечить автоматическую активацию виртуальных. Это совершенно необязательно, но довольно полезно. См. «Активируйте виртуальное представление» ниже.
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc
Примечание ~/.config/fish/config.fish
status --is-interactive ; and pyenv virtualenv-init - | source
Zsh Примечание : измените свой файл ~/.zshrc
вместо ~/.bashrc
.
Перезапустите свою оболочку, чтобы включить Pyenv-Virtualenv
exec " $SHELL "
Пользователи MacOS могут установить Pyenv-VirtualEnv с Homebrew Package Manager. Это даст вам доступ к команде pyenv-virtualenv
. Если у вас установлен Pyenv, вы также сможете использовать команду pyenv virtualenv
.
Это рекомендуемый метод установки, если вы установили Pyenv с Homebrew.
brew install pyenv-virtualenv
Или, если вы хотите установить последний релиз разработки:
brew install --HEAD pyenv-virtualenv
После установки вам все равно нужно сделать шаги настройки оболочки Pyenv, а затем добавьте
eval " $( pyenv virtualenv-init - ) "
в файл .rc
вашей оболочки (как указано в предостережениях). Вам придется сделать это только один раз.
pyenv virtualenv
с Pyenv Чтобы создать VirtualEnv для версии Python, используемой с Pyenv, запустите pyenv virtualenv
, указав нужную версию Python, и название каталога VirtualENV. Например,
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
Создаст VirtualENV на основе Python 2.7.10 под $(pyenv root)/versions
в папке, называемой my-virtual-env-2.7.10
.
pyenv virtualenv
направляет любые параметры в базовую команду, которая фактически создает виртуальную среду ( conda
, virtualenv
или python -m venv
). См. Вывод pyenv virtualenv --help
для деталей.
Если есть только один аргумент, приведенный pyenv virtualenv
, VirtualEnv будет создан с данным именем на основе текущей версии Pyenv Python.
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34
pyenv virtualenvs
показывает вам список существующих виртуальных сред и conda
.
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
Есть две записи для каждого виртуального цвета, а более короткий - просто символ.
Некоторые внешние инструменты (например, Jedi) могут потребовать, чтобы вы activate
среды VirtualEnv и conda
.
Если в вашей оболочке настраивается eval "$(pyenv virtualenv-init -)"
, pyenv-virtualenv
автоматически активирует/деактивирует VirtualEnvs при введении/оставлении каталогов, которые содержат файл .python-version
, который содержит имя достоверной виртуальной среды как показано на выводе pyenv virtualenvs
(например, venv34
или 3.4.3/envs/venv34
в примере выше). .python-version
pyenv local
Вы также можете активировать и деактивировать Pyenv Virtualenv вручную:
pyenv activate < name >
pyenv deactivate
Удаление каталогов в $(pyenv root)/versions
и $(pyenv root)/versions/{version}/envs
удалит VirtualEnv или вы можете запустить:
pyenv uninstall my-virtual-env
Вы также можете удалить существующие VirtualEnvs, используя команду virtualenv-delete
, например, вы можете запустить:
pyenv virtualenv-delete my-virtual-env
Это удалит VirtualEnv под названием my-virtual-env
.
Существует модуль Venv, доступный для CPYTHON 3.3 и новее. Он предоставляет исполняемый модуль venv
, который является преемником virtualenv
и распределенным по умолчанию.
pyenv-virtualenv
использует python -m venv
если он доступен, и команда virtualenv
недоступна.
Вы можете управлять средами conda
с помощью conda create
так же, как и стандартные установки Anaconda/Miniconda. Чтобы использовать эти среды, вы можете использовать pyenv activate
и pyenv deactivate
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH
Если conda
доступна, pyenv virtualenv
будет использовать его для создания среды от conda create
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
Вы можете использовать такую версию, как miniconda3-3.9.1/envs/myenv
чтобы указать среду conda
в качестве версии в Pyenv.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/python
Вы можете установить определенные переменные среды для управления Pyenv-Virtualenv.
PYENV_VIRTUALENV_CACHE_PATH
, если установлен, указывает каталог для использования для кэширования загруженных файлов пакетов.VIRTUALENV_VERSION
, если установлен, заставляет Pyenv-Virtualenv установить желаемую версию VirtualEnv. Если virtualenv
не был установлен, Pyenv-Virtualenv попытается установить данную версию VirtualEnv.GET_PIP
, если установлен, и venv
предпочтительнее virtualenv
, используйте get_pip.py
из указанного места.GET_PIP_URL
, если установлен и venv
предпочтительнее virtualenv
, загрузите get_pip.py
из указанного URL.PIP_VERSION
, если установлен, и venv
предпочтительнее virtualenv
, установите указанную версию PIP.PYENV_VIRTUALENV_VERBOSE_ACTIVATE
, если установлен, показывают некоторые многословные выходы на активацию и деактивациюPYENV_VIRTUALENV_PROMPT
, если установлен, позволяет пользователям настроить, как pyenv-virtualenv
изменяет свою подсказку для оболочки. Подсказка по умолчанию ("(venv)") перезаписывается любым определенным пользователем текстом. Укажите местоположение имени виртуальной среды со строкой {venv}
. Например, строка приглашения по умолчанию будет ({venv})
. Смотрите Changelog.md.
(Лицензия MIT)
Настоящее разрешение предоставляется бесплатно любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), для работы в программном обеспечении без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение , опубликовать, распространять, сублицензировать и/или продавать копии программного обеспечения и разрешить лицам, с которым программное обеспечение предоставлено для этого, при условии следующих условий:
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае не будут нести ответственность авторов или владельцев авторских прав за любые претензии, ущерб или другую ответственность, будь то в действии контракта, деликте или иным образом, возникающим из или в связи с программным обеспечением или использования или других сделок в ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.