Чи є еквівалент пітону 'rvm' Рубі?


145

Питання: Чи є в Python щось функціонально еквівалентне менеджеру версій Ruby 'rvm' ?


( RVM дозволяє легко повністю перемикатися між різними версіями інтерпретатора рубіну та різними наборами дорогоцінних каменів (модулів). Про все, що стосується завантаження, складання-встановлення-переключення інтерпретатора (-ів) та дорогоцінних каменів, можна опікуватися, викликаючи rvm. Це всі вони працюють під вашим звичайним обліковим записом користувача.)

Відповіді:


94

Так, це virtualenv разом з virtualenvwrapper .

оновлення: ви можете встановити обидва одночасно з virtualenv burrito .

Оновлення : правильна відповідь зараз, ймовірно, pyenv .

Для наукових обчислень відповідним інструментом є анаконда .


2
Я збентежений. Де можна встановити різні версії python? Здається, це просто використання версії системи python.
док

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...
conny

1
Як хтось, хто досить вмілий у rvm, pythonbrew був абсолютним вітерцем, до якого звикли. Дякую за пораду!
elmt

1
Велике спасибі. Я вважаю, що це справжня відповідь відтепер.
sayth

Слід додати, щоб побачити pypy та jython, додані до списку відомих пітонів.
Сайт

Не так вже й багато трафіку. Це все-таки варто вивчити?
Дебільські

51

Я створив pyenv, який є вилкою rbenv Ruby і модифікований для 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

Якщо припустити, що пітони 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.