Introduzione

Python è uno dei linguaggi di programmazione più popolari al mondo. Viene utilizzato per lo sviluppo di siti Web, la scrittura di script, l'apprendimento automatico, l'analisi dei dati e altro ancora.

Questo tutorial spiega come verificare quale versione di Python è installata sul tuo sistema operativo usando la riga di comando. Ciò può essere utile durante l'installazione di applicazioni scritte in Python che richiedono una versione specifica di Python.

Ti mostreremo anche come determinare a livello di codice quale versione di Python è installata sul sistema su cui è in esecuzione lo script Python. Ad esempio, quando si scrivono script Python, è necessario determinare se lo script supporta la versione di Python installata sul computer dell'utente.

Verifica della versione di Python

Python è preinstallato sulla maggior parte delle distribuzioni Linux e macOS.

Per scoprire quale versione di Python è installata sul tuo sistema eseguire il comando python --version oppure python -V, quindi da terminale:

python --version

Il comando stamperà la versione predefinita di Python, in questo caso, cioè 2.7.15. La versione installata sul tuo sistema potrebbe essere diversa.

Python 2.7.15+

La versione predefinita di Python verrà utilizzata da tutti gli script che hanno impostato come interprete /usr/bin/python nella riga shebang dello script.

Alcune distribuzioni Linux hanno più versioni di Python installate contemporaneamente. In genere, il nome binario di Python 3 è chiamato python3 e il nome binario di Python 2 è chiamato python o python2, ma potrebbe non essere sempre così. Puoi verificare se hai installato Python 3 digitando:

python3 --version
Python 3.6.8

Al momento della stesura di questo articolo, l'ultima versione principale di Python è la versione 3.7.x. È probabile che sul tuo sistema sia installata una versione precedente di Python 3. Se si desidera installare l'ultima versione, la procedura dipende dal sistema operativo in esecuzione.

Verifica a livello di codice della versione di Python

Python 2 e Python 3 sono fondamentalmente diversi. Il codice scritto in Python 2.x potrebbe non funzionare in Python 3.x.

Il modulo sys disponibile in tutte le versioni di Python fornisce parametri e funzioni specifici del sistema. sys.version_info consente di determinare la versione di Python installata sul sistema. Si tratta di una tupla che contiene i cinque numeri di versione: major, minor, micro, releaselevel, e serial.

Supponiamo che tu abbia uno script che richiede almeno Python versione 3.5 e desideri verificare se il sistema soddisfa i requisiti. Puoi farlo semplicemente controllando le versioni major e minor:

import sys

if not sys.version_info.major == 3 and sys.version_info.minor >= 5:
    print("This script requires Python 3.5 or higher!")
    print("You are using Python {}.{}.".format(sys.version_info.major, sys.version_info.minor))
    sys.exit(1)

Se si esegue lo script utilizzando la versione Python inferiore alla 3.5, verrà prodotto il seguente output:

This script requires Python 3.5 or higher!
You are using Python 2.7.

Per scrivere il codice Python che funziona con Python 3 e 2, usa il modulo future. Ti consente di eseguire codice compatibile con Python 3.x in Python 2.

Conclusione

Scoprire quale versione di Python è installata sul tuo sistema è molto semplice, basta digitare:

python --version