Q: Do we have anything functionally equivalent in Python to the Ruby version manager 'rvm'?
(RVM lets you easily switch completely between different versions of the ruby interpreter and different sets of gems (modules). Everything concerning download-build-install-switch of interpreter(-s) and gems gets taken care of by invoking rvm. It is all run under your regular user account.)
Yes, it is virtualenv along with virtualenvwrapper.
update: you may install both at once with virtualenv burrito.
Update: the correct answer is now probably pyenv.
For scientific computing, the corresponding tool is anaconda.
Pythonbrew is no longer under development. The former maintainer suggests to use "PyEnv" instead (see below)".
pythonbrew has come!
http://github.com/utahta/pythonbrew
pyenv: https://github.com/yyuu/pyenv
I created pyenv which is a fork of Ruby's rbenv and modified for Python. Like pythonz, pyenv also supports Stackless, PyPy, and Jython.
Following up on hytdsh's answer (nearly two years later)...
pythonz a fork of pythonbrew that adds support for Stackless, PyPy, and Jython.
If you like how rvm handles different interpreters, it may worth taking a look at pythonz. If you're strictly working with CPython, the difference is less significant.
Optionally, if you're using Macports you can use python_select
.
Install python_select
with:
$ sudo port install python_select
Assuming python 2.6 and 2.5 have bee installed via Macports you can switch pythons like so:
$ 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