¿Hay un pitón equivalente al 'rvm' de Ruby?


145

P: ¿Tenemos algo funcionalmente equivalente en Python al administrador de versiones de Ruby 'rvm' ?


( RVM le permite cambiar fácilmente por completo entre diferentes versiones del intérprete de ruby y diferentes conjuntos de gemas (módulos). Todo lo relacionado con la descarga-construcción-instalación-cambio de intérprete (-s) y gemas se soluciona invocando rvm. Es todos se ejecutan con su cuenta de usuario habitual).

Respuestas:


94

Sí, es virtualenv junto con virtualenvwrapper .

actualización: puede instalar ambos a la vez con virtualenv burrito .

Actualización : la respuesta correcta ahora es probablemente pyenv .

Para la computación científica, la herramienta correspondiente es anaconda .


2
Estoy confundido. ¿Dónde se pueden instalar diferentes versiones de python? Parece estar usando solo la versión del sistema de python.
docwhat

44
Pero, ¿hay alguna manera de agrupar una instalación de Python específica (por ejemplo, 2.7) con ciertos huevos en un proyecto y con ciertos otros huevos en otro? RVM gestiona todo esto sin problemas, y sudoes cosa del pasado.
Kyle Wild

44
Virtualenv permite hacer malabarismos entre versiones de Python y entre diferentes conjuntos de huevos; pero no se ocupará de la compilación + instalación de Python en sí. RVM hace exactamente eso por Ruby. Si desea construir una versión específica de Python porque no puede instalarla fuera de los paquetes por alguna razón, entonces debe verificar pythonbrew en su lugar (solo la otra respuesta a continuación).
jpetazzo

3
No veo cómo esto admite varias versiones de python.
Dogweather

3
RVM se encarga de compilar intérpretes de Ruby. También permite descargar los precompilados, si están disponibles.
Andrey Mikhaylov - lolmaus

85

Pythonbrew ya no está en desarrollo. El antiguo responsable de mantenimiento sugiere utilizar "PyEnv" en su lugar (ver más abajo) ".

¡Pythonbrew ha llegado! http://github.com/utahta/pythonbrew

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


Interesante, podría valer la pena intentarlo. Veo que sus invocaciones de comandos son bastante similares a las de rvm...
conny

1
Como alguien que es muy experto en rvm, pythonbrew fue una brisa absoluta a la que acostumbrarse. ¡Gracias por el consejo!
elmt

1
Muchas gracias. Creo que esta es la verdadera respuesta de ahora en adelante.
dice el

Debería agregar ser bueno para ver pypy y jython agregados a la lista de pitones conocidos.
dice el

Ya no hay tanto tráfico. ¿Todavía vale la pena estudiarlo?
Debilski

51

He creado pyenv que es un tenedor de Ruby rbenv y modificado para Python. Al igual que pythonz, pyenv también es compatible con Stackless, PyPy y Jython.


6

Seguimiento de la respuesta de hytdsh (casi dos años después) ...

pythonz es una bifurcación de pythonbrew que agrega soporte para Stackless, PyPy y Jython.

Si le gusta cómo rvm maneja los diferentes intérpretes, puede valer la pena echar un vistazo a pythonz. Si está trabajando estrictamente con CPython, la diferencia es menos significativa.


5

Opcionalmente, si está utilizando Macports, puede utilizarlo python_select. Instalar python_selectcon:

$ sudo port install python_select

Suponiendo que Python 2.6 y 2.5 se hayan instalado a través de Macports, puede cambiar las pitones de esta manera:

$ 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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.