Obiettivo
Questo articolo spiega come passare da Python2 a Python3 su Debian 9 Stretch Linux
Sistema operativo e versioni software
- Sistema operativo: – Debian 9 Allunga
Requisiti
Sarà richiesto l'accesso privilegiato all'installazione di Debian Linux.
Difficoltà
FACILE
Convenzioni
- # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando
sudo
comando - $ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato
Istruzioni
Debian 9 Stretch viene fornito con due 2.7
e 3.5
versioni python. Se non hai ancora installato alcun pacchetto python puoi scegliere tra entrambi semplicemente installando un pacchetto appropriato:
PYTHON 2 INSTALLATION: # apt install python PYTHON 3 INSTALLATION: # apt install python3
Verifica la versione predefinita di Python
Per controllare una versione python predefinita, esegui semplicemente python
comando e interrogare la sua versione:
$ python --version Python 2.7.13
Installa Python
Supponiamo che nessun interprete Python non sia ancora installato sul nostro sistema. Quindi, possiamo iniziare con l'installazione di entrambe le versioni di Python:
# python --version -bash: python: command not found # apt install python python3
Dopo l'installazione la versione Python 2.7
è predefinito:
$ python --version Python 2.7.13
Aggiorna l'elenco delle alternative Python
Per eseguire un passaggio a livello di sistema tra le versioni predefinite di Python, utilizzare update-alternatives
comando. All'inizio le update-alternatives
comando si lamenterà del fatto che non ci sono alternative python disponibili:
# update-alternatives --list python update-alternatives: error: no alternatives for python
Per installare alternative a Python, prima elenca tutte le opzioni disponibili:
$ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.5 /usr/bin/python3.5m /usr/bin/python3m
Quindi, aggiorna l'elenco delle alternative Python per ogni versione che desideri utilizzare. Nel nostro caso con stick con /usr/bin/python2.7
e /usr/bin/python3.5
versioni:
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode # update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2 update-alternatives: using /usr/bin/python3.5 to provide /usr/bin/python (python) in auto mode
Si noti che il numero intero alla fine di ogni comando denota una priorità. Un numero più alto significa una priorità più alta e come tale il /usr/bin/python3.5
versione è stata impostata in modalità automatica come predefinita se non è stata selezionata un'altra selezione. Dopo aver eseguito entrambi i comandi precedenti, la tua attuale versione predefinita di Python è /usr/bin/python3.5
a causa della sua priorità più alta (2
):
# python --version Python 3.5.3
Passa da una versione Python all'altra
Ora che abbiamo aggiornato l'elenco delle alternative Python per eseguire un passaggio tra qualsiasi versione di Python è da eseguire:
# update-alternatives --config python There are 2 choices for the alternative python (providing /usr/bin/python). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/python3.5 2 auto mode 1 /usr/bin/python2.7 1 manual mode 2 /usr/bin/python3.5 2 manual mode Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in manual mode
e selezionare una versione appropriata utilizzando il numero intero di selezione come mostrato sopra.
# python --version Python 2.7.13
Versione Python per utenti locali
Nel caso in cui sia necessario modificare solo una versione python selettivamente per utente, puoi provare a modificare il .bashrc
dell'utente file. Ad esempio per passare alla versione Python 3.5
esegui i seguenti comandi Linux:
$ python --version Python 2.7.13 $ echo 'alias python="/usr/bin/python3.5"' >> ~/.bashrc $ . .bashrc $ python --version Python 3.5.3
{loadposition python-tutorial-toc}