Python - Virtualenv, питон 3? - PullRequest
       26

Python - Virtualenv, питон 3?

9 голосов
/ 13 сентября 2009

Кажется, все рекомендуют virtualenv для нескольких версий Python (на OSX), но работает ли он даже с Python 3.0? Я скачал его, и он, кажется, не .. И я не очень понимаю, как это работает. Можете ли вы «включить» env за раз или что-то? Я хочу оставить системный python 2.5 (очевидно) и иметь python 3.1.1 с subversion pygame для написания своих собственных вещей, и python 2.6 с нормальной стабильной pygame для использования для запуска других вещей, таких как игры в pygame, загруженные из pygame. .org. Любая помощь о том, как этого добиться? Спасибо.

Хорошо, я понял, что virtualenv - это не то, что я ищу.

Ответы [ 5 ]

14 голосов
/ 03 февраля 2015

Это старый вопрос, но я сам нашел его в поиске ответа в Google, и я не думаю, что предоставленные ответы - это то, что ищут люди.

Насколько я понимаю, вы хотите создавать разные виртуальные среды с разными версиями Python?

Это очень просто, и вам нужен только сам virtualenv.

Например, для Python 3:

$ virtualenv -p python3 p34env

(...)
New python executable in p34env/bin/python3.4
Also creating executable in p34env/bin/python
Installing setuptools, pip...done.

$ source p34env/bin/activate

(p34env)$ python -V
Python 3.4.2

(p34env)$ deactivate 
$

Вы используете команду source для активации venv, а deactivate для - как вы уже догадались - деактивации. Обратите внимание на изменения подсказки, чтобы указать env.

Для стандартной версии Python вашей системы вы просто пропускаете аргумент -p python3 и можете использовать аргумент, чтобы указать на любую версию, которую вы хотите указать путем.

Последний аргумент - это имя (p34env), и вы можете сделать столько, сколько хотите, просто дать им разные имена.

3 голосов
/ 13 сентября 2009

Ваш вариант использования на самом деле не нуждается в virtualenv. Вам просто нужно установить несколько разных версий Python.

1 голос
/ 09 июля 2010

Для меня virtualenv3 работает очень хорошо. У меня также есть pypi.python.org/pypi/distribute. Это также работает с упомянутым www.doughellmann.com/docs/virtualenvwrapper/. Я только что проверил это на Linux.

1 голос
/ 13 сентября 2009

virtualenv предназначен для создания изолированных сред Python. Хитрость в использовании его с несколькими экземплярами Python заключается в установке virtualenv в каждую версию Python, с которой вы хотите его использовать, например:

/usr/bin/easy_install-2.6 virtualenv
/usr/local/bin/easy_install virtualenv
sudo port install py26-virtualenv

или вызвать его с предполагаемой версией Python, например:

/usr/bin/python2.6 virtualenv.py ENV
/usr/local/bin/python2.6 virtualenv.py ENV
/opt/local/bin/python2.5 virtualenv.py ENV

Таким образом, как таковой, он не решает напрямую проблему (особенно острую в OS X) того, с каким Python вы хотите работать. Существуют различные способы решения этой проблемы: использовать абсолютные пути к предполагаемому Python (как в приведенных выше примерах), определять псевдонимы оболочки, тщательно управлять, кроме всего прочего, порядком поиска $PATH.

В настоящее время AFAIK virtualenv не поддерживается в Python 3, поскольку, помимо прочего, setuptools (магия easy_install) еще не поддерживается в Python 3, хотя существует работа продолжается к решению этой проблемы.

Кстати, многие люди используют Даг Хеллман virtualenvwrapper , чтобы упростить использование virtualenv.

0 голосов
/ 13 сентября 2009

Не уверен, правильно ли я вас понял, но здесь идет :)

Я не знаю насчет OS X, но в Linux вы можете установить и 2.6, и 3. Затем вы можете указать, использовать ли python25 или python3, или изменить символическую ссылку / usr / bin / python на версию, которую вы хотите установить. использовать по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...