Gerenciando várias versões de python em uma caixa Linux

Se você está trabalhando em Python ou qualquer uma de suas ferramentas de desenvolvimento é baseada em Python, então você deve ter enfrentado um problema ao usar várias versões de Python. Por exemplo, eu desenvolvo aplicativos da web usando Django, que tem um tipo de suporte beta para Python 3, então eu tenho que estar no Python 27 e o mesmo para repo do Google que não roda no Python 3. Mas Python 3 é necessário em alguns casos, por exemplo Estou executando o Arch Linux que exige Python 3 para alguns de seus componentes. Me deparei com uma ferramenta incrível chamada pythonbrew .

Pythonbrew fornece comandos muito simples para instalar, desinstalar e alternar entre várias versões de python.

Para instalar uma versão python

pythonbrew install 3.2

Para remover uma versão python

pythonbrew uninstall 3.2

Para mudar para uma versão específica do Python

pythonbrew switch 2.7

Em ação:
Instalando uma versão

[akshay@amd_dev ~/Downloads/pythonbrew]$ pythonbrew install 3.2
Downloading Python-3.2.tgz as /home/akshay/.pythonbrew/dists/Python-3.2.tgz
######################################################################## 100.0%
Extracting Python-3.2.tgz into /home/akshay/.pythonbrew/build/Python-3.2

This could take a while. You can run the following command on another shell to track the status:
tail
-f "/home/akshay/.pythonbrew/log/build.log"

Patching Python-3.2
Installing Python-3.2 into /home/akshay/.pythonbrew/pythons/Python-3.2
Downloading distribute_setup.py as /home/akshay/.pythonbrew/dists/distribute_setup.py
######################################################################## 100.0%
Installing distribute into /home/akshay/.pythonbrew/pythons/Python-3.2
Installing pip into /home/akshay/.pythonbrew/pythons/Python-3.2

Installed Python-3.2 successfully.

Execute o seguinte comando para mudar para Python-3.2.

pythonbrew switch 3.2
[akshay@amd_dev ~/Downloads/pythonbrew]$ python
Python 2.7 (r27:82500, Aug 18 2012, 12:32:52)
[GCC 4.7.1 20120721 (prerelease)] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>>

Mude para a versão 3.2 que acabou de ser instalada

[akshay@amd_dev ~/Downloads/pythonbrew]$ pythonbrew switch 3.2
Switched to Python-3.2
[akshay@amd_dev ~/Downloads/pythonbrew]$ python
Python 3.2 (r32:88445, Aug 18 2012, 12:56:01)
[GCC 4.7.1 20120721 (prerelease)] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>>

Volte para a versão 2.7

[akshay@amd_dev ~/Downloads/pythonbrew]$ pythonbrew switch 2.7
Switched to Python-2.7
[akshay@amd_dev ~/Downloads/pythonbrew]$ python
Python 2.7 (r27:82500, Aug 18 2012, 12:32:52)
[GCC 4.7.1 20120721 (prerelease)] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>>