Existe-t-il un équivalent python du «rvm» de Ruby?


145

Q: Avons-nous quelque chose d'équivalent fonctionnel en Python au gestionnaire de version Ruby 'rvm' ?


( RVM vous permet de basculer facilement complètement entre les différentes versions de l'interpréteur Ruby et différents ensembles de pierres précieuses (modules). Tout ce qui concerne le téléchargement-build-install-switch d'interprète (-s) et des pierres précieuses obtient pris en charge en invoquant RVM. Il est tous fonctionnent sous votre compte utilisateur habituel.)

Réponses:


94

Oui, c'est virtualenv avec virtualenvwrapper .

mise à jour: vous pouvez installer les deux à la fois avec virtualenv burrito .

Mise à jour : la bonne réponse est maintenant probablement pyenv .

Pour le calcul scientifique, l'outil correspondant est anaconda .


2
Je suis confus. Où pouvez-vous installer différentes versions de python? Il semble n'utiliser que la version système de python.
docwhat

4
Mais existe-t-il un moyen de regrouper une installation Python spécifique (par exemple, 2.7) avec certains œufs dans un projet et avec certains autres œufs dans un autre? RVM gère tout cela de manière transparente et sudoappartient au passé.
Kyle Wild

4
Virtualenv permet de jongler entre les versions de Python et entre différents ensembles d'oeufs; mais cela ne traitera pas la compilation + l'installation de Python lui-même. RVM fait exactement cela pour Ruby. Si vous souhaitez créer une version spécifique de Python parce que vous ne pouvez pas l'installer à partir de packages pour une raison quelconque, vous voulez vérifier pythonbrew à la place (juste l'autre réponse juste en dessous).
jpetazzo

3
Je ne vois pas comment cela prend en charge plusieurs versions de python.
Dogweather

3
RVM s'occupe de la compilation des interpréteurs Ruby. Il permet également de télécharger ceux précompilés, s'ils sont disponibles.
Andrey Mikhaylov - lolmaus

85

Pythonbrew n'est plus en développement. L'ancien responsable suggère d'utiliser "PyEnv" à la place (voir ci-dessous) ".

pythonbrew est arrivé! http://github.com/utahta/pythonbrew

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


Intéressant, ça vaut peut-être la peine d'essayer. Je vois que ses invocations de commandes sont assez similaires à celles de to rvm...
conny

1
En tant que personne assez adepte du rvm, pythonbrew était un jeu d'enfant auquel s'habituer. Merci pour le conseil!
elmt le

1
Merci beaucoup. Je crois que c'est la vraie réponse à partir de maintenant.
sayth

Il devrait être bon de voir pypy et jython ajoutés à la liste des pythons connus.
sayth

Pas tellement de trafic. Cela vaut-il encore la peine d'être examiné?
Debilski

51

J'ai créé pyenv qui est un fork de rbenv de Ruby et modifié pour Python. Comme pythonz, pyenv prend également en charge Stackless, PyPy et Jython.


6

Suite à la réponse de hytdsh (près de deux ans plus tard) ...

pythonz un fork de pythonbrew qui ajoute la prise en charge de Stackless, PyPy et Jython.

Si vous aimez la façon dont rvm gère différents interpréteurs, il peut être intéressant de jeter un œil à pythonz. Si vous travaillez strictement avec CPython, la différence est moins significative.


5

En option, si vous utilisez Macports, vous pouvez utiliser python_select. Installer python_selectavec:

$ sudo port install python_select

En supposant que python 2.6 et 2.5 aient bee installé via Macports, vous pouvez changer de pythons comme suit:

$ 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 peut construire et installer Python pour vous

Peut-être que ce n'était pas possible dans la version précédente, mais lorsque j'ai testé en 1.2.15, j'ai remarqué l' pyenv installoption qui fonctionnait:

pyenv install 3.8.0

Par conséquent, j'estime qu'il est raisonnable d'appeler pyenvun remplaçant pour RVM.

J'ai donné un exemple complet de son utilisation sur: apt-get install pour différentes versions de python

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.