Створіть віртуальне середовище Python 3


13

Я встановив 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?


Патч, який змінює цю поведінку в Debian. salsa.debian.org/python-team/modules/python-virtualenv/blob/… Я хотів би, щоб я зрозумів процес думки, який використовується під час додавання цього виправлення.
Вінні

Відповіді:


24

venvє зручним сценарієм для створення віртуальних середовищ, але не повністю замінює все, що virtualenvможна зробити. Хоча використання будь-якого з них добре для більшості випадків. virtualenvне застаріла.

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

Не важливо, для якої версії virtualenvвстановлено, вона може створювати ENV для будь-якої встановленої версії шляхом передачі -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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.