Existe um equivalente python do 'rvm' de Ruby?


145

P: Temos algo funcionalmente equivalente em Python ao gerenciador de versões Ruby 'rvm' ?


( RVM permite que você facilmente mudar completamente entre diferentes versões do interpretador ruby e diferentes conjuntos de gemas (módulos). Tudo a respeito do download-build-instalar-switch de intérprete (s) e pedras preciosas se cuidado invocando rvm. É todos são executados em sua conta de usuário comum.)

Respostas:


94

Sim, é virtualenv junto com virtualenvwrapper .

atualização: você pode instalar os dois ao mesmo tempo com o virtualenv burrito .

Atualização : a resposta correta agora é provavelmente pyenv .

Para a computação científica, a ferramenta correspondente é a anaconda .


2
Estou confuso. Onde você pode instalar versões diferentes do python? Parece estar apenas usando a versão do sistema do python.
docwhat

4
Mas existe uma maneira de agrupar uma instalação específica do Python (digamos, 2.7) com certos ovos em um projeto e com outros outros ovos em outro? O RVM gerencia tudo isso perfeitamente e sudoé coisa do passado.
Kyle selvagem

4
O Virtualenv permite fazer malabarismos entre versões do Python e entre diferentes conjuntos de ovos; mas não vai lidar com a compilação + instalação do próprio Python. O RVM faz exatamente isso para Ruby. Se você deseja criar uma versão específica do Python porque não pode instalá-lo fora dos pacotes por algum motivo, verifique o pythonbrew (apenas a outra resposta logo abaixo).
precisa saber é o seguinte

3
Não vejo como isso suporta várias versões do python.
Dogweather 27/09/13

3
O RVM cuida da compilação de intérpretes Ruby. Ele também permite o download dos pré-compilados, se disponível.
Andrey Mikhaylov - lolmaus

85

Pythonbrew não está mais em desenvolvimento. O ex-mantenedor sugere usar "PyEnv" (veja abaixo) ".

pythonbrew chegou! http://github.com/utahta/pythonbrew

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


Interessante, pode valer a pena tentar. Vejo que suas chamadas de comando são bastante semelhantes a de que rvm...
conny

1
Como alguém que é bastante hábil em rvm, o pythonbrew era uma brisa absoluta para se acostumar. Obrigado pela dica!
elmt

1
Muito obrigado. Eu acredito que esta é a resposta real a partir de agora.
sayth

Deve ser bom ver pypy e jython adicionados à lista de pythons conhecidos.
sayth

Não há mais muito tráfego. Ainda vale a pena investigar isso?
23412 Debilski

51

Criei pyenv, que é um fork do rbenv do Ruby e modifiquei para o Python. Como o pythonz, o pyenv também suporta Stackless, PyPy e Jython.


6

Seguindo a resposta do hytdsh (quase dois anos depois) ...

pythonz, um fork do pythonbrew que adiciona suporte para Stackless, PyPy e Jython.

Se você gosta de como o rvm lida com diferentes intérpretes, vale a pena dar uma olhada no pythonz. Se você trabalha estritamente com o CPython, a diferença é menos significativa.


5

Opcionalmente, se você estiver usando Macports, poderá usá-lo python_select. Instale python_selectcom:

$ sudo port install python_select

Supondo que python 2.6 e 2.5 tenham bee instalado via Macports, você pode alternar pythons da seguinte forma:

$ 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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.