Можно ли использовать virtualenvwrapper и pyenv вместе? - PullRequest
1 голос
/ 08 мая 2020

$ pyenv virtualenv 3.7.0 tf12 создает virtualenv, расположенный в ~/.pyenv/versions/, который содержит все, что мы устанавливаем в него, используя pip install. Если мы затем mkdir && cd && pyenv local tf12, этот каталог будет использовать те же ядра и пакеты.

Но также у нас есть виртуальные каталоги и каталоги, созданные с помощью mkproject/mkvirtualenv, расположенного где-то вроде ~/.ve и ~/workspace. В рабочей области мы размещаем записные книжки, код и сценарии .pynb, .py, .r, а соответствующий virtualenv использует глобальную версию python, которая была активна при выполнении mkproject/mkvirtualenv.

Эти виртуальные файлы, созданные с помощью mkproject/mkvirtualenv, отделены от виртуальных виртуальных машин, созданных с помощью pyenv virtualenv.

Мы не можем использовать их вместе для дальнейших возможностей. Они ведь используются независимо?

1 Ответ

0 голосов
/ 08 мая 2020

Имейте в виду, что pyenv-venv и virtualenvwrapper - это просто оболочки для пакета stdlib venv. Они просто звонят, чтобы создать для вас venv: python -m venv venv_dir и активировать venv source ./venv_dir/bin/activate. Они также могут добавить что-то в ваш $ PATH, чтобы убедиться, что используется правильный двоичный файл python. См. прокладки pyenv

Сказав это, виртуальные виртуальные машины, созданные этими двумя инструментами, в основном одно и то же (плюс некоторые файлы конфигурации).

Теоретически нет ничего плохого в копирование каталога virtualenv из $WORKON_HOME в .pyenv и запись конфигураций вручную, но я не понимаю, почему кто-то захочет это сделать.

В случае, если требуется перенести venv, созданный virtualenvwrapper, на pyenv, тогда вы можете просто экспортировать установленные пакеты с версиями, используя pip freeze и pip install -r requirements.txt в pyenv venv.

...