Есть ли Python-эквивалент Ruby 'rvm'?


145

Q: Есть ли у нас что-нибудь функционально эквивалентное в Python менеджеру версии Ruby 'rvm' ?


( РВМ позволяет легко переключаться полностью между различными версиями интерпретатора рубинового и различных наборов драгоценных камней (модулей). Все , что касается загрузки-сборки-установки-переключатель интерпретатором (-ы) и драгоценных камней получает позаботятся, вызывая RVM. Это все работают под вашей обычной учетной записью.)

Ответы:


94

Да, это virtualenv вместе с virtualenvwrapper .

обновление: вы можете установить оба сразу с virtualenv burrito .

Обновление : правильный ответ сейчас, вероятно, pyenv .

Для научных вычислений соответствующим инструментом является анаконда .


2
Я запутался. Где можно установить разные версии python? Кажется, он просто использует системную версию python.
2010 г.

4
Но есть ли способ связать конкретную установку Python (скажем, 2.7) с определенными яйцами в одном проекте и с некоторыми другими яйцами в другом? RVM управляет всем этим без проблем и sudoостается в прошлом.
Кайл Уайлд

4
Virtualenv позволяет манипулировать между версиями Python и между различными наборами яиц; но это не касается компиляции + установки самого Python. RVM делает именно это для Ruby. Если вы хотите собрать определенную версию Python, потому что по какой-то причине вы не можете установить ее из пакетов, то вместо этого вы должны проверить pythonbrew (просто другой ответ чуть ниже).
jpetazzo

3
Я не понимаю, как это поддерживает несколько версий Python.
Dogweather

3
RVM заботится о компиляции Ruby-интерпретаторов. Он также позволяет загружать предварительно скомпилированные файлы, если они доступны.
Андрей Михайлов - lolmaus

85

Pythonbrew больше не разрабатывается. Бывший сопровождающий предлагает вместо этого использовать «PyEnv» (см. Ниже) ».

Пришел питон-вар! http://github.com/utahta/pythonbrew

pyenv: https://github.com/yyuu/pyenv


Интересно, может быть стоит попробовать. Я вижу, что его вызовы команд очень похожи на rvm
вызовы

1
Как человек, который хорошо разбирается в rvm, pythonbrew был абсолютным бризом, к которому можно было привыкнуть. Спасибо за чаевые!
Elmt

1
Большое спасибо. Я считаю, что это настоящий ответ отныне.
скажем

Следует добавить, что было бы неплохо видеть pypy и jython, добавленные в список известных питонов.
скажем

Не так много трафика больше. Это все еще стоит изучить?
Debilski


6

В ответ на ответ Хитдша (почти два года спустя) ...

pythonz - это форк pythonbrew, который добавляет поддержку Stackless, PyPy и Jython.

Если вам нравится, как rvm работает с разными интерпретаторами, возможно, стоит взглянуть на pythonz. Если вы строго работаете с CPython, разница менее значительна.


5

При желании, если вы используете Macports, вы можете использовать python_select. Установить python_selectс помощью:

$ sudo port install python_select

Предполагая, что Python 2.6 и 2.5 установлены через Macports, вы можете переключать питонов следующим образом:

$ sudo python_select python25
=> Selecting version "python25" for python
$ python --version
=> 2.5.5
$ sudo python_select python26
=> Selecting version "python26" for python
$ python --version
=> 2.6.6

0

pyenv 1.2.15 может собрать и установить Python для вас

Возможно, это было невозможно в более ранней версии, но когда я тестировал в 1.2.15, я заметил pyenv installвариант, который работал:

pyenv install 3.8.0

Поэтому я чувствую, что разумно назвать pyenvзамену RVM.

Я дал полностью подробный пример его использования по адресу: apt-get install для разных версий Python

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.