Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

Это уже старый вопрос, но я сам нашел его в поиске ответа в 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, и деактивировать , чтобы - как вы уже догадались - деактивировать. Обратите внимание на изменения подсказки, чтобы указать env.

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

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

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.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top