Python有没有类似Ruby rvm那样强大的工具?
这不是重复的提问,链接到的那个问题不一样。
我已经知道了 virtualenv、virtualenvwrapper 和 pip,但它们似乎不能完全满足我的需求。
我想要一种方法,不仅可以安装多个版本的Python,还可以安装多个版本的Django(比如说),并且能够自由切换“当前使用”的Python版本和“当前使用”的Django版本。
举个例子,我有Django 1.0、1.1和1.2,而现在使用的是最新的版本。我想在Python 2.5、2.6和2.7上测试它。然后我想把Django 1.2设为“当前使用”,再在所有的Python版本上测试一次。
我能想到用virtualenv来实现这个例子,但假设我有5个Django应用的版本,想在Python 2.5、2.6和2.7的每种组合上测试,并且Django版本是1.0、1.1和1.2。到这个时候,我需要创建的虚拟环境数量就变得难以管理了。
我希望能够简单地说,设定Python版本X为“当前使用”,设定Django版本X为“当前使用”,再设定我的应用版本X为“当前使用”,而不需要去创建和切换虚拟环境(我也不想写一堆启动脚本)。
我想知道,Python有没有我想要的这种功能,或者我是不是漏掉了关于virtualenv、virtualenvwrapper和pip的一些东西,它们其实已经可以优雅地处理这个问题了?
2 个回答
我觉得你可以用 buildout 来实现这个功能,虽然我对它不是特别熟悉……比如说,http://blog.mfabrik.com/2010/07/16/easily-install-all-python-versions-under-linux-and-osx-using-collective-buildout-python/ 这个链接里有相关的信息。
我觉得pythonbrew就是你需要的东西。
补充说明: 从2013年开始,pyenv看起来是更受欢迎的解决方案。