Come verificare, modificare e cambiare le versioni di Python su Ubuntu [Guida completa]

目次

1. Introduzione

Quando si usa Python su Ubuntu, gestire le versioni di Python è un aspetto cruciale.
Python viene aggiornato regolarmente con nuove versioni e diversi ambienti di sviluppo possono richiedere versioni differenti.

Tuttavia, Ubuntu spesso ha più versioni di Python installate, il che porta a situazioni in cui potresti dover:
– Verificare la versione corrente di Python
– Usare una versione specifica di Python
– Passare da una versione di Python all’altra

In questo articolo forniremo una guida completa su come controllare, modificare e cambiare le versioni di Python su Ubuntu.
Con esempi di comandi facili da seguire, anche i principianti potranno capire. Assicurati di leggere fino alla fine!

2. Come verificare la tua versione di Python [Try It Instantly!]

Prima di tutto, vediamo come controllare la versione di Python attualmente installata su Ubuntu.

2.1 Il metodo più semplice (controllo in 1 secondo)

Il modo più semplice per verificare la versione di Python su Ubuntu è eseguire il seguente comando nel terminale:

python3 --version

Puoi anche usare questo comando alternativo per ottenere lo stesso risultato:

python3 -V

Esempio di output:

$ python3 --version
Python 3.10.6

Questo comando mostra la versione corrente di Python installata sul tuo sistema.

2.2 Differenza tra python --version e python3 --version

Su Ubuntu, il comando python potrebbe riferirsi a Python 2.x, a seconda della configurazione del sistema.
Per questo motivo è consigliato usare python3 --version per verificare la tua versione di Python.

Puoi verificare se il comando python è disponibile con il seguente comando:

python --version

Se vedi un messaggio di errore come Command 'python' not found, significa che solo Python 3 è installato sul tuo sistema.

2.3 Ottenere informazioni dettagliate sulla versione

Se ti servono informazioni più dettagliate sulla tua versione di Python, usa questo comando:

python3 -VV

Esempio di output:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

Questo comando fornisce dettagli aggiuntivi, come la versione del compilatore (GCC) e la data di build.

2.4 Verificare la versione di Python all’interno di uno script

Se devi controllare la versione di Python all’interno di uno script Python, usa il modulo sys:

import sys
print(sys.version)
print(sys.version_info)

Esempio di output:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

L’oggetto sys.version_info ti permette di recuperare i componenti della versione (major, minor e micro) come valori numerici.

3. Cambiare e gestire le versioni di Python [Set System Default]

Poiché Ubuntu può avere più versioni di Python installate, questa sezione spiega come cambiare la versione predefinita di Python per il tuo sistema.

3.1 Verificare le versioni di Python installate

Prima di tutto, controlla quali versioni di Python sono installate sul tuo sistema:

ls /usr/bin/python*

Esempio di output:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

Se sono installate più versioni, puoi scegliere quale usare come predefinita.

3.2 Cambiare la versione predefinita di Python usando update-alternatives

Ubuntu ti permette di cambiare la versione predefinita di Python usando il comando update-alternatives.

Prima, verifica la configurazione corrente:

sudo update-alternatives --display python

Se Python non è registrato in update-alternatives, registralo con questi comandi:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

Quindi, seleziona la versione predefinita:

sudo update-alternatives --config python

Esempio di output:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number:

Inserisci il numero corrispondente alla versione di Python che desideri impostare come predefinita.

3.3 Cambiare manualmente la versione predefinita di Python usando un collegamento simbolico

Se preferisci non usare update-alternatives, puoi cambiare manualmente la versione predefinita di Python aggiornando il collegamento simbolico:

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

Dopo questa modifica, il comando python punterà a python3.10 a livello di sistema.

4. Passaggio tra versioni di Python per ciascun progetto

A volte, potresti aver bisogno di usare diverse versioni di Python per progetti diversi.
Ad esempio, un progetto potrebbe richiedere Python 3.10, mentre un altro progetto potrebbe aver bisogno di Python 3.8.
In tali casi, l’uso di ambienti virtuali (venv) o pyenv può essere molto utile.

Questa sezione spiega come passare facilmente tra versioni di Python usando ambienti virtuali e pyenv.

4.1 Gestione delle versioni di Python per ambiente con venv

Python include una funzionalità integrata chiamata venv (ambiente virtuale).
Usando un ambiente virtuale, puoi gestire diverse versioni di Python e dipendenze all’interno di directory specifiche.

Creazione di un ambiente virtuale con venv

Prima, naviga nella directory in cui desideri creare l’ambiente virtuale ed esegui il seguente comando:

python3 -m venv myenv

Questo crea un ambiente virtuale chiamato myenv.

Attivazione dell’ambiente virtuale

Per attivare l’ambiente virtuale, esegui:

source myenv/bin/activate

Una volta attivato, il prompt del terminale cambierà:

(myenv) user@ubuntu:~/project$

Mentre l’ambiente virtuale è attivo, tutti i comandi Python useranno questo ambiente isolato.

Controllo della versione di Python all’interno dell’ambiente virtuale

Per controllare la versione di Python all’interno dell’ambiente virtuale, usa:

python --version

Disattivazione dell’ambiente virtuale

Per uscire dall’ambiente virtuale, esegui:

deactivate

Usando questo metodo, puoi gestire versioni e pacchetti di Python separati per ciascun progetto in modo efficiente.

4.2 Gestione delle versioni di Python con pyenv

Mentre venv è utile per la gestione per progetto, pyenv è una soluzione migliore per passare tra versioni di Python a livello di sistema.

Installazione di pyenv

Per installare pyenv su Ubuntu, esegui:

curl https://pyenv.run | bash

Dopo l’installazione, applica le modifiche con:

exec $SHELL

Installazione di una versione specifica di Python con pyenv

Per installare una versione specifica di Python, usa:

pyenv install 3.10.6

Per controllare le versioni disponibili, usa:

pyenv install --list

Passaggio tra versioni di Python con pyenv

Per impostare una versione predefinita globale di Python:

pyenv global 3.10.6

Per cambiare la versione di Python solo per una directory specifica:

pyenv local 3.8.10

Controllo della versione attuale di Python in pyenv

Per vedere la versione di Python attualmente selezionata in pyenv, usa:

pyenv versions

Con pyenv, puoi gestire facilmente più versioni di Python attraverso progetti diversi.

5. Domande frequenti (FAQ) [Troubleshooting]

Ecco alcune domande comuni e consigli per la risoluzione dei problemi per la gestione delle versioni di Python su Ubuntu.

Q1: Qual è la differenza tra python e python3?

Su Ubuntu, python3 è il predefinito, mentre python potrebbe riferirsi a Python 2.x.
Si consiglia di usare sempre python3 --version per controllare la versione di Python.

Q2: La versione visualizzata da python --version non è quella che mi aspettavo. Come posso risolverlo?

Puoi cambiare la versione predefinita di Python usando update-alternatives o pyenv.

  • Usando update-alternatives :
    sudo update-alternatives --config python
    
  • Usando pyenv :
    pyenv global 3.10.6
    

Q3: python3 --version funziona, ma python no. Perché?

Il tuo sistema potrebbe non avere il comando python collegato a Python 3.
Per risolvere, crea un collegamento simbolico:

sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4: Come rimuovere una vecchia versione di Python su Ubuntu?

Prima, controlla le versioni di Python installate:

apt list --installed | grep python

Per rimuovere una versione specifica di Python, esegui:

sudo apt remove python3.6

Q5: Rimuovere una vecchia versione di Python influirà sul mio sistema?

Gli strumenti di sistema di Ubuntu dipendono da alcune versioni di Python.
Prima di rimuovere qualsiasi versione, verifica quali sono installate:

apt list --installed | grep python

6. Riepilogo e Articoli Consigliati

Abbiamo coperto in dettaglio come verificare, cambiare e passare tra le versioni di Python su Ubuntu.

  • Verifica la versione di Python: python3 --version
  • Cambia il default a livello di sistema: Usa update-alternatives o ln -sf
  • Gestisci versioni specifiche per progetto: Usa venv (ambienti virtuali) o pyenv

Usare pyenv rende la gestione delle versioni di Python molto più semplice.
Se hai bisogno di usare versioni diverse di Python per vari progetti o cambiare la versione di default del sistema, prova pyenv!

Risorse Correlate

Pythonプログラミングの世界

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…