Создайте виртуальную среду Python 3

Я установил python3-virtualenv на Lubuntu 15.1 с использованием официального пакета Ubuntu apt-get install python3-virtualenv, Официальная документация указывает, что простой virtualenv . в моем каталоге проекта должно быть достаточно для создания venv. Это ничего не делает, потому что which virtualenv ничего не делает. (Ничего из which python-virtualenv а также which python3-virtualenv также).

Информация о пакете после установки говорит о том, что он установлен /usr/lib/python3/dist-packages/virtualenv.pyтак что я вызываю это под python3. Это дает мне это:

$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.

Да, когда я смотрю, все в./bin это python2. Является ли Python 3-virtualenv из Ubuntu фиктивным пакетом для Python2?

Официальная документация по Python гласит: используйте другой пакет: python3-venv. Кажется, это работает, когда я pyvenv ., с материалом Python 3 в ./bin каталог.

Как я могу успешно создать Python 3 virtualenv?

1 ответ

Решение

venv удобный сценарий для создания виртуальных сред, но не полностью заменяет все virtualenv сможет сделать. Использование любого из них подходит для большинства случаев. virtualenv не устарел.

python3 -m venv работает после установки python3-venv потому что Debian удаляет некоторые скрипты из базового пакета Python. python3-virtualenv не ставит virtualenv сценарий на вашем пути по какой-то причине, но python-virtualenv делает, и будет работать нормально для любой версии.

Не важно какая версия virtualenv установлен для, он может создавать envs для любой установленной версии, передав -p pythonX (где X - версия). venvБудучи более простым, он будет создавать только envs той версии, из которой он запущен, и доступен только с версии 3.3.

$ sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate
Другие вопросы по тегам