¿Cómo cambio mi PYTHONPATH para que 3.2 sea mi Python predeterminado en lugar de 2.7.2?

16

Tengo python3.2 ubicado en /usr/lib/python3.2. No estoy seguro de si eso significa que está instalado, pero supongo que es por ahora.

Algunos hechos sobre mi sistema:

$ which python
/usr/local/bin/python

Cuando escribo pythonen la terminal me sale lo siguiente

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Entonces para encontrar el camino que hago

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

Entonces, sabiendo todo esto, ¿cómo cambio mi python del sistema predeterminado de 2.7.2 a 3.2?

max
fuente

Respuestas:

28

No es bueno cambiar la python predeterminada. Muchos programas del sistema dependen de python2, no de python3. si desea usar python3, simplemente escriba el comando python3 .

fuego de fuego
fuente
44
Para las bibliotecas y herramientas de soporte (como pyenv, fabric), esperan /usr/bin/env pythonser lo que desea. Entonces, escribir manualmente python3no es la solución.
Eric Mill
9

El PYTHONPATH no tiene mucho que ver con eso. Simplemente le dice al intérprete de Python, cualquiera que sea el intérprete que se ejecute, dónde encontrar los módulos adicionales que desea cargar.

Pero de cualquier manera, cambiar la versión predeterminada en su sistema es peligroso, como han observado otros comentaristas. Usted corre el riesgo de romper el paquete existente que está construido contra Python2 y usa / usr / bin / env python para encontrar sus intérpretes.

De hecho, esa es la forma incorrecta de expresarlo. Cambiar la versión predeterminada de Python romperá todo su sistema Ubuntu y hará que muchos programas simplemente no funcionen. También es completamente innecesario.

Pero como lo preguntaste, solo haces esto:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

Feliz estrellarse!

Ken Kinder
fuente
7

Agregué esto en mi .bashrc, está funcionando bien hasta ahora:

alias python='python3'
Vinod Garag
fuente
1
Eso funcionará siempre que no llame a python desde un script, que no tiene acceso a sus alias.
HelloGoodbye
4

De acuerdo con esto , puede configurar su variable de entorno o simplemente agregar una nueva carpeta de ruta de importación. Pero recomiendo usar virtualenvs para proyectos de Python si quieres tener algo de flexibilidad.

Tural Gurbanov
fuente
2

Aquí está la forma más segura de hacerlo: usandoupdate-alternatives

Vadim Rutkovsky
fuente
1

si de hecho está instalado, escriba python3.2 en lugar de solo python y lo cargará en lugar del predeterminado. Acabo de instalar Python 3.2 para probarlo =)

si de hecho no está instalado, abra el terminal y escriba sudo apt-get install python3.2 para obtenerlo

BretD
fuente