Есть ли 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

hytdsh
источник
Интересно, может быть стоит попробовать. Я вижу, что его вызовы команд очень похожи на rvm
вызовы
1
Как человек, который хорошо разбирается в rvm, pythonbrew был абсолютным бризом, к которому можно было привыкнуть. Спасибо за чаевые!
Elmt
1
Большое спасибо. Я считаю, что это настоящий ответ отныне.
скажем
Следует добавить, что было бы неплохо видеть pypy и jython, добавленные в список известных питонов.
скажем
Не так много трафика больше. Это все еще стоит изучить?
Debilski
51

Я создал pyenv, который является веткой Ruby's rbenv и модифицирован для Python. Как и pythonz, pyenv также поддерживает Stackless, PyPy и Jython.

Юу Ямашита
источник
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
sahglie
источник
0

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

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

pyenv install 3.8.0

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

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

Сиро Сантилли 郝海东 冠状 病 六四 事件 法轮功
источник