2010-08-13 12 views
19

Esto no es un duplicado de this question.¿Tiene Python algo tan robusto como el rvm de Ruby?

Ya conozco virtualenv y virtualenvwrapper y pip pero no parecen tener exactamente lo que quiero.

Estoy buscando una manera en que no solo pueda tener múltiples versiones de Python instaladas sino también múltiples versiones de Django (por ejemplo) y mezclar y combinar la versión "activa" de python y la versión "activa" de Django.

p. Ej. Tengo Django 1.0, 1.1 y 1.2, y el tronco está "activo". Quiero poder probarlo en Python 2.5, 2.6 y 2.7. Luego haga Django 1.2 "activo" y vuelva a probarlo en todas mis versiones de Python.

Veo cómo podría llegar utilizando virtualenv para ese ejemplo, pero digo que tengo 5 lanzamientos de una aplicación Django que quiero probar en cada combinación de Python 2.5, 2.6 y 2.7 y versiones de Django 1.0 , 1.1 y 1.2. En este punto, afaik, la cantidad de entornos virtuales que voy a necesitar crear se está volviendo inmanejable.

Me gustaría decir que la versión X de Python es "activa", que la versión X de Django "activa" y que la versión X de MyApp sea "activa" sin tener que lidiar con la creación y el cambio de virtualenvs (y Definitivamente no quiero hacer un montón de secuencias de comandos bootstrap).

¿Existe lo que estoy buscando para Python, o hay algo que me falta acerca de virtualenv, virtualenvwrapper y pip que ya puede manejar esto con elegancia?

+0

Para añadir a mi ejemplo de pruebas: para cualquier persona que esté interesado en el ensayo de múltiples versiones de dependencia contra múltiples versiones de Python "tox" es una gran herramienta para esto –

Respuesta

7

Creo que pythonbrew es lo que estás buscando.

Editar: pyenv se parece a la solución preferida desde 2013.

+0

Después de haber usado buildout durante bastante tiempo, decidí que virtualenv era una mejor manera de hacerlo, incluso si pensaba que no era exactamente lo que estaba buscando. ¡pythonbrew se ve EXACTAMENTE como lo que estaba buscando, gracias! –

+0

FYI: El enlace dice 'pythonbrew' está en desuso. –

+0

Gracias, lo he tenido en cuenta. Probablemente debería eliminar la referencia de pitthonbrew alltogether. – Aissen

Cuestiones relacionadas