Come posso cambiare il mio PYTHONPATH per rendere il 3.2 il mio Python predefinito invece del 2.7.2?


16

Ho python3.2 situato in /usr/lib/python3.2. Non sono sicuro che ciò significhi che è installato ma suppongo che sia per ora.

Alcuni fatti sul mio sistema:

$ which python
/usr/local/bin/python

Quando digito il pythonterminale ottengo quanto segue

$ 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.

Quindi per trovare il percorso che faccio

>>> 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']

Quindi, sapendo tutto questo, come posso cambiare il mio python di sistema predefinito da 2.7.2 a 3.2?

Risposte:


28

Non è bene cambiare il pitone predefinito. Molti programmi di sistema dipendono da python2 e non da python3. se vuoi usare python3, digita semplicemente il comando python3 .


4
Per le librerie e gli strumenti di supporto (come pyenv, fabric), si aspettano /usr/bin/env pythondi essere ciò che desideri. Quindi la digitazione manuale python3non è la soluzione.
Eric Mill,

9

Il PYTHONPATH non ha molto a che fare con esso. Indica semplicemente all'interprete Python, qualunque sia l'interprete in esecuzione, dove trovare i moduli extra che si desidera caricare.

Ma in entrambi i casi, cambiare la versione predefinita sul tuo sistema è pericoloso, come hanno osservato altri commentatori. Sostieni il rischio di rompere i pacchetti esistenti creati su Python2 e utilizzare / usr / bin / env python per trovare i loro interpreti.

In effetti, questo è il modo sbagliato di esprimerlo. La modifica della versione predefinita di Python interromperà l'intero sistema Ubuntu e farà sì che molti programmi non funzionino. È anche completamente inutile.

Ma poiché hai chiesto, fai solo questo:

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

Buon incidente!


7

Ho aggiunto questo nel mio .bashrc, sta funzionando bene finora:

alias python='python3'

1
Funzionerà finché non chiami Python da uno script, che non ha accesso ai tuoi alias.
Ciao addio,

4

In base a ciò è possibile impostare la variabile di ambiente o semplicemente aggiungere una nuova cartella del percorso di importazione. Ma ti consiglio di usare virtualenvs per i progetti Python se vuoi avere una certa flessibilità.



1

se è effettivamente installato, digita python3.2 anziché solo python e lo caricherà invece del valore predefinito. Ho appena installato Python 3.2 per testarlo =)

se in realtà non è installato aprire il terminale e digitare sudo apt-get install python3.2 per ottenerlo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.