有与Ruby的“ rvm”等效的python吗?


145

问:在Python中,我们有功能上与Ruby版本管理器“ rvm”等效的功能吗?


RVM使您可以轻松地在不同版本的ruby解释器不同组的gem(模块)之间进行完全切换。有关解释器 gems的download-build-install-switch的一切,都可以通过调用rvm来解决。全部以您的普通用户帐户运行。)

Answers:


94

是的,它与virtualenvwrapper一起是virtualenv

更新:您可以一次安装virtualenv burrito

更新:正确的答案现在可能是pyenv

对于科学计算,相应的工具是anaconda


2
我很困惑。在哪里可以安装不同版本的python?似乎只是使用系统的python版本。
docwhat

4
但是,是否有一种方法可以将特定的Python安装(例如2.7)与一个项目中的某些鸡蛋以及另一个项目中的某些其他鸡蛋捆绑在一起?RVM无缝管理所有这些内容,这sudo已经成为过去。
凯尔·

4
Virtualenv允许在不同版本的Python之间以及不同组鸡蛋之间进行切换。但它不会处理Python本身的编译+安装。RVM完全针对Ruby。如果您由于某种原因无法从软件包中安装特定版本的Python,请改用pythonbrew(仅是下面的另一个答案)。
jpetazzo

3
我看不到它如何支持python的多个版本。
Dogweather

3
RVM确实会编译Ruby解释器。如果有的话,它也允许下载预编译的。
安德烈·米哈伊洛夫

85

Pythonbrew不再在开发中。前维护者建议改用“ PyEnv”(见下文)”。

pythonbrew来了! http://github.com/utahta/pythonbrew

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


有趣,也许值得一试。我看到它的命令调用与rvm... 非常相似
conny

1
作为一个精通rvm的人,pythonbrew是一个习惯的绝对轻而易举。谢谢你的提示!
elmt 2011年

1
非常感谢你。我相信这是从现在开始的真正答案。
2011年

应该添加一下,以便将pypy和jython添加到已知的python列表中。
sayth

不再有那么多的流量了。这仍然值得研究吗?
Debilski

51

我创建了pyenv,它是Ruby的rbenv的一个分支,并针对Python进行了修改。像pythonz一样,pyenv还支持Stackless,PyPy和Jython。


6

跟进hytdsh的回答(近两年后)...

pythonz pythonbrew的一个分支,增加了对Stackless,PyPy和Jython的支持。

如果您喜欢rvm处理不同解释器的方式,那么可能值得看看pythonz。如果您严格使用CPython,则差异不那么明显。


5

或者,如果您使用的是Macports,则可以使用python_select。安装python_select方式:

$ sudo port install python_select

假设python 2.6和2.5通过Macports安装了bee,则可以像这样切换python:

$ 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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.