Python - Virtualenv, питон 3?
-
06-07-2019 - |
Вопрос
Кажется, все рекомендуют 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 на версию, которую вы хотите установить. использовать по умолчанию.