Come verificare e cambiare le versioni di Python su Ubuntu: Guida completa per sviluppatori

目次

1. Introduzione

Quando si usa Python su Ubuntu, gestire le versioni di Python diventa un compito importante.
Python riceve frequentemente nuove versioni e, a seconda dell’ambiente di sviluppo, potresti dover utilizzare versioni diverse.

Tuttavia, Ubuntu può avere più versioni di Python installate, il che porta a situazioni come:
“Voglio controllare la versione corrente di Python”
“Voglio usare una versione specifica”
“Voglio cambiare versione di Python”
Queste situazioni si verificano abbastanza spesso.

Questo articolo spiega in dettaglio come controllare, modificare e cambiare le versioni di Python su Ubuntu.
Con esempi di comandi inclusi, anche i principianti possono seguirlo facilmente. Assicurati di leggere fino alla fine.

2. Come controllare la versione di Python su Ubuntu【Provalo ora!】

Prima, diamo un’occhiata a come verificare quale versione di Python è attualmente installata su Ubuntu.

2.1 Il modo più semplice (controlla in 1 secondo)

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

python3 --version

Puoi ottenere lo stesso risultato usando:

python3 -V

Esempio:

$ python3 --version
Python 3.10.6

Questo mostra la versione corrente di Python.

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

Su Ubuntu, il comando python potrebbe riferirsi a Python 2.
Perciò è consigliato usare python3 --version.

Puoi verificare se python è installato eseguendo:

python --version

Se vedi Command 'python' not found, probabilmente significa che è installato solo Python 3.

2.3 Ottenere informazioni dettagliate sulla versione

Se desideri informazioni più dettagliate, esegui:

python3 -VV

Esempio:

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

Questo comando mostra dettagli come la versione di GCC usata per la compilazione e la data di build.

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

Se vuoi verificare la versione di Python da uno script, usa il modulo sys:

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

Esempio:

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

Usando sys.version_info, puoi ottenere ciascun elemento della versione (major, minor, micro) come numeri.

3. Come cambiare o gestire le versioni di Python【Imposta il valore predefinito di sistema】

Ubuntu può avere più versioni di Python installate.
Questa sezione spiega come cambiare la versione predefinita di Python a livello di sistema.

3.1 Controllare le versioni di Python installate

Per verificare quali versioni di Python sono installate, esegui:

ls /usr/bin/python*

Esempio:

$ 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

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

Prima, controlla le impostazioni attuali:

sudo update-alternatives --display python

Se python non è registrato, aggiungilo con:

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 scegli la versione predefinita:

sudo update-alternatives --config python

Esempio:

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 della versione a cui vuoi passare.

3.3 Modificare manualmente il collegamento simbolico

Puoi anche modificare manualmente il link simbolico invece di usare update-alternatives:

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

Questo forza il comando python a usare python3.10 a livello di sistema.

4. Come Cambiare Versioni di Python per Progetto

Quando si lavora con Python su Ubuntu, potresti voler usare diverse versioni di Python per diversi progetti.
Ad esempio, un progetto potrebbe richiedere Python 3.10, mentre un altro potrebbe aver bisogno di Python 3.8.
In tali casi, l’uso di ambienti virtuali (venv) o pyenv è estremamente utile.

Questa sezione spiega come cambiare facilmente le versioni di Python usando ambienti virtuali e pyenv.

4.1 Gestire Versioni di Python per Ambiente Usando venv

Python fornisce venv (ambienti virtuali) come funzionalità standard.
Usando ambienti virtuali, puoi gestire diverse versioni di Python o librerie all’interno di directory individuali.

Creare un Ambiente Virtuale con venv

Spostati nella directory in cui vuoi creare un ambiente virtuale, quindi esegui:

python3 -m venv myenv

Questo crea un ambiente virtuale chiamato myenv.

Attivare l’Ambiente Virtuale

Per attivare l’ambiente virtuale, esegui:

source myenv/bin/activate

Una volta attivato, il prompt del terminale cambia:

(myenv) user@ubuntu:~/project$

Mentre è attivo, viene usata la versione di Python specifica dell’ambiente.

Controllare la Versione di Python all’Interno dell’Ambiente

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

python --version

Disattivare l’Ambiente Virtuale

Per uscire dall’ambiente virtuale, esegui:

deactivate

Usando questo metodo, puoi gestire versioni di Python e pacchetti in modo indipendente per ogni progetto.

4.2 Gestire Versioni di Python Usando pyenv

Mentre venv gestisce Python per progetto,
se vuoi cambiare liberamente la versione di Python a livello di sistema, pyenv è molto comodo.

Installare pyenv

Prima, installa pyenv.
Per installare pyenv su Ubuntu, esegui:

curl https://pyenv.run | bash

Quindi applica le impostazioni con:

exec $SHELL

Installare Versioni di Python con pyenv

Per installare una versione di Python usando pyenv:

pyenv install 3.10.6

Per controllare tutte le versioni disponibili:

pyenv install --list

Cambiare Versioni di Python con pyenv

Per cambiare la versione di Python globale (a livello di sistema):

pyenv global 3.10.6

Per cambiare la versione di Python per una directory specifica:

pyenv local 3.8.10

Controllare la Versione Attuale di Python pyenv

Per controllare quali versioni di Python sta gestendo pyenv, esegui:

pyenv versions

Questo ti permette di gestire facilmente diverse versioni di Python per progetto.

5. FAQ (Risoluzione dei Problemi)

Ecco alcune domande comuni e consigli per la risoluzione dei problemi quando si gestiscono versioni di Python su Ubuntu.

Q1: Qual è la differenza tra python e python3?

Su Ubuntu, python3 è lo standard, mentre python potrebbe riferirsi a Python 2.
Pertanto, si consiglia di usare python3 --version.

Q2: Cosa succede se python --version mostra una versione inaspettata?

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

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

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

Il comando python potrebbe non essere installato.
Crea un link simbolico per risolverlo:

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

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

Prima, elenca i pacchetti Python installati:

apt list --installed | grep python

Per rimuovere una versione specifica di Python:

sudo apt remove python3.6

Q5: Rimuovere una versione più vecchia di Python influenzerà Ubuntu?

Alcuni strumenti di sistema Ubuntu dipendono da versioni specifiche di Python.
Controlla con:

python3 --version

Prima di rimuovere qualsiasi cosa, verifica sempre cosa è installato:

apt list --installed | grep python

6. Riepilogo e Articoli Consigliati

In questa guida, abbiamo trattato come verificare, modificare e cambiare le versioni di Python su Ubuntu.

  • Verifica la versione di Pythonpython3 --version
  • Cambia la versione a livello di sistemaupdate-alternatives o ln -sf
  • Gestisci le versioni per progettovenv o pyenv

Usare pyenv rende la gestione delle versioni di Python particolarmente semplice.
Se hai bisogno di versioni diverse di Python per più progetti o vuoi cambiare il valore predefinito di sistema, prova a usare pyenv.

侍エンジニア塾