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

15735
Escher

Я установил 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. Является ли Python3-virtualenv из Ubuntu фиктивным пакетом для Python2?

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

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

11

1 ответ на вопрос

19
davidism

venvэто удобный сценарий для создания виртуальных envs, но не полностью заменяет все, что 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 

Похожие вопросы