Создайте виртуальную среду 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