Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 20.04 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Python è un linguaggio di programmazione ad alto livello che ha raggiunto una grandissima popolarità ed è utilizzato in molti ambiti, dall'utilizzo di semplici script personali fino alla creazione di progetti altamente professionali.

L'utilizzo di una sintassi pulita e ordinata legate a una certa facilità di utilizzo, hanno fatto si che col tempo Python si sia rivelato ottimale come primo linguaggio da imparare per chi è interessato ad affacciarsi al mondo della programmazione.

La seguente pagina intende solo mostrare come utilizzare gli strumenti basilari su Ubuntu. Per approfondire l'utilizzo di Python si rimanda alla copiosa documentazione presente sul web. Nel capitolo Guide per principianti sono presenti alcune delle più apprezzate guide per muovere i primi passi.

Python 2 e 3

Python è stato concepito già negli anno '80. Viene rilasciato Python 1.0 nel 1994, mentre la versione 2.0 vede la luce nel 2000. Nel 2008 viene rilasciata la versione 3, che ha determinato un punto di cesura con la versione 2, tant'è che le due versioni sono incompatibili fra di loro.

Dopo un lungo periodo di convivenza fra Python 2 e Python 3, caratterizzato da una lenta fase di transizione, si è giunti al termine del supporto di Python 2 il 1 gennaio del 2020. Ciò vuol dire che per la versione 2 non sono garantiti implementazioni e correzioni di bug, anche relativi alla sicurezza.
Si consideri tuttavia che, nonostante lo sviluppo di nuove funzionalità sia incentrato su Python 3, una mole considerevole di progetti sono ancora basati su Python 2.

Situazione su Ubuntu

  • Ubuntu 22.04: è preinstallata solo la versione Python 3.10; la versione Python 2.7 è disponibile nei repository.

  • Ubuntu 20.04: è preinstallata solo la versione Python 3.8; la versione Python 2.7 è disponibile nei repository.

  • Ubuntu 18.04: sono preinstallate le due differenti versioni Python 2.7 e Python 3.6.

Il pacchetto python3 ed il relativo comando da terminale fanno riferimento, a seconda della versione di Ubuntu in uso, a Python 3.6, 3.8 o 3.10. Al contrario con il pacchetto e il comando python si intende la versione 2.7. Pertanto con il generico python su Ubuntu si intende ancora la versione 2.

Su Ubuntu Phone è installata in modo predefinito la sola versione 3, nominata python3.

Repository di terze parti

Oltre a quelle presenti nei repository ufficiali, sono disponibili altre versioni di Python, utili sia per soddisfare le necessità di versioni differenti per software provenienti da fonti terze, sia per provare versioni più recenti.

Le versioni disponibili sono:

  • Ubuntu 22.04: Python 3.7, Python3.8, Python3.9 e Python 3.11 Python 3.12

  • Ubuntu 20.04: Python 3.5, Python 3.6, Python 3.7, Python3.9, Python3.10 e Python 3.11, Python 3.12

  • Ubuntu 18.04: Python2.3, Python 2.4, Python 2.5, Python 2.6, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5, Python 3.7, Python 3.8, Python3.9, Python 3.10 e Python 3.11

Per installare queste versioni:

  1. Digitare nel terminale i comandi per aggiungere i PPA deadsnakes team:

    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt update
  2. Installare i pacchetti desiderati (per facilitare la ricerca è possibile utilizzare l'apposita funzione oppure un gestore pacchetti dotato di interfaccia grafica).

  3. Al termine dell'installazione riavviare il sistema.

Distribuzione Anaconda

L'applicazione Anaconda ha una dimensione di diverse centinaia di megabyte, occorre quindi uno spazio d'archiviazione nel sistema sufficientemente ampio per poterlo installare. Si consiglia una dimensione d'almeno 1 gigabyte.

Anaconda è una distribuzione di Python, sia in versione Python 2 che Python 3, realizzata specificatamente per la data science. Per installarla sul proprio sistema e utilizzarla come versione Python di default seguire i seguenti passaggi.

  1. Scaricare Anaconda dalla pagina ufficiale, facendo clic sul tasto Download in alto a destra nella casella Anaconda Distribution. La versione necessaria viene normalmente riconosciuta automaticamente; si può in ogni caso scegliere una versione per un sistema operativo differente facendo clic sul tasto Get Additional Installers.

  2. Assegnare i permessi di esecuzione al file appena scaricato.

  3. Aprire un terminale e spostarsi nella cartella dove è stato scaricato il file.

  4. Digitare il comando:

    ./Anaconda*.sh
  5. Quando richiesto, premere Invio per leggere la licenza d'uso.

  6. Scorrere tutta la licenza d'uso premendo ripetutamente il tasto Invio, poi digitare yes e premere Invio.

  7. Scegliere in quale cartella installare Anaconda. Di default è impostata la propria Home.

  8. Digitare Yes alla richiesta di aggiornare il file ~/.bashrc.

  9. Scegliere a seconda delle proprie esigenze se installare o meno Microsoft VS Studio digitando rispettivamente Yes o No.

Shell python

Come consuetudine per la realizzazione di programmi si utilizzano file di testo sui quali scrivere il codice sorgente (vedere relativo capitolo). Tuttavia è possibile avviare all'interno del terminale una shell python interattiva sulla quale poter testare porzioni di codice.

  • Python 3: il comando:

    python3

    avvierà la versione 3 predefinita sul proprio sistema, ad es. la 3.6 su Ubuntu 18.04:

    Python 3.6.9 (default, Oct  8 2020, 12:12:24) 
    [GCC 8.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>"

    Se sono state installate versioni successive, ad es. la 3.7 e la si vuole utilizzare, sarà sufficiente specificarlo nel comando:

    python3.7
  • Python 2: il comando:

    python2

    oppure semplicemente:

    python

    avvierà la versione 2.7. Oltre al prompt dei comandi verrà visualizzata l'intestazione:

    Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
    [GCC 4.8.4] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 

Esempi in Python 3

Per testare i seguenti esempi è sufficiente digitare i comandi che appaiono accanto alla tripla freccia del prompt (>>>) e quindi premere Invio.

  • Alcune semplici istruzioni da passare al prompt per stampare scritte e per effettuare calcoli aritmetici. Le stringhe devono essere inserite in mezzo alle virgolette " ", mentre i numeri vengono digitati così come sono:

    >>> print("Hello World!")
    Hello World!
    >>> print(2+3)
    5
    >>> print("2 + 3 = ",  2+3)
    2 + 3 = 5
  • Per indicare i blocchi di codice si usa l'indentazione creata tramite il tasto TAB (Tab ⇆). In Python non è solo una buona abitudine del programmatore ma è obbligatoria. Per esempio il codice appartenente a un ciclo deve essere indentato:

    >>> i = 0
    >>> while i < 4:
    ...     i += 1
    ...     print("il doppio di", i, " e' ", i*2)
    ...
    il doppio di 1  e'  2
    il doppio di 2  e'  4
    il doppio di 3  e'  6
    il doppio di 4  e'  8

    Altrimenti succede questo:

    >>> i = 0
    >>> while i < 4:
    ... i += 1
      File "<stdin>", line 2
        i += 1
        ^
    IndentationError: expected an indented block
  • Uscire dall'interprete premendo Ctrl+D, oppure digitando il comando:

    >>> exit()

Impostare versione Python3

Da predefinito il sistema usa la versione preinstallata, per impostare l'uso d'una versione installata a posteriori è sufficiente modificare il collegamento simbolico al comando base.

Nel seguente esempio si sostituisce la versione predefinita 3.6 con la 3.7.

  1. Visualizzare le versioni installate digitando nel terminale il comando:

    ls /usr/bin/python* -l

    mostrerà una lista simile:

    lrwxrwxrwx 1 root root       9 mag  6  2018 /usr/bin/python -> python2.7
    lrwxrwxrwx 1 root root       9 mag  6  2018 /usr/bin/python2 -> python2.7
    -rwxr-xr-x 1 root root 3628976 set 30 15:38 /usr/bin/python2.7
    lrwxrwxrwx 1 root root       9 ott 25  2018 /usr/bin/python3 -> python3.6
    -rwxr-xr-x 2 root root 4526456 ott  8 14:12 /usr/bin/python3.6
    lrwxrwxrwx 1 root root       9 ott 25  2018 /usr/bin/python3m -> python3.6m
    -rwxr-xr-x 2 root root 4526456 ott  8 14:12 /usr/bin/python3.6-config
    lrwxrwxrwx 1 root root       9 ott 25  2018 /usr/bin/python3.7
    -rwxr-xr-x 2 root root 4526456 ott  8 14:12 /usr/bin/python3.7m
    -rwxr-xr-x 2 root root 4526456 ott  8 14:12 /usr/bin/python3.7-config
  2. Per sostituire l a versione 3.6 con la versione 3.7 digitare i comandi:

    sudo rm /usr/bin/python3
    sudo rm /usr/bin/python3m
    sudo rm /usr/bin/python3-config
    sudo ln -s /usr/bin/python3.7 /usr/bin/python3
    sudo ln -s /usr/bin/python3.7m /usr/bin/python3m
    sudo ln -s /usr/bin/python3.7-config /usr/bin/python3-config

I collegamenti da sostituire sono individuabili nella lista mostrata dal primo comando dalla presenza del simbolo -> nella stringa.

Non miscelare i collegamenti simbolici ai Python2 e 3, poiché sono incompatibili tra loro.

Riavviare il sistema per rendere effettiva la modifica.

Script

Come esempio pratico verrà creato un file con del codice Python 3 al suo interno che potrà essere richiamato dal terminale per essere eseguito.

Primo metodo

  1. Aprire un editor di testo e inserire le seguenti righe:

    print("Ciao mondo!")
  2. Salvare nella propria Home il file come ciao.py.

  3. Da terminale digitare:

    python3 ciao.py
  4. Verrà restituita la scritta:

    Ciao mondo!

Secondo metodo

Nel comando del primo metodo python3 ciao.py può essere evitata la digitazione del termine python3, inserendo all'inizio dello script la direttiva:

#!/usr/bin/env python3

In alternativa è comune trovare la forma #!/usr/bin/python3.

  1. Modificare il contenuto dello script in modo che risulti:

    #!/usr/bin/env python3
    
    print("Ciao mondo!")
  2. Rendere lo script eseguibile con il comando:

    chmod u+x ciao.py
  3. Lanciare quindi lo script con il comando:

    ./ciao.py

    che restituirà la scritta:

    Ciao mondo!

Alcune differenze con Python 2

  • Partendo dallo script iniziale in Python 3 si nota già una differenza fondamentale nella sintassi. L'istruzione print è stata sostituita in Python 3 con la funzione print(). In Python 2 il comando nello script è:

    print "Ciao mondo!"
  • Il comando di avvio del primo metodo deve essere adattato alla versione 2 di Python, pertanto diviene:

    python2 ciao.py

    oppure semplicemente:

    python ciao.py
  • Andando a inserire la direttiva #!/usr/bin/env python3 come nel secondo metodo, anch'essa dovrà essere rapportata a Python 2, quindi:

    #!/usr/bin/env python2

    oppure semplicemente:

    #!/usr/bin/env python

Guide di approfondimento

  • Listati Python 2: esempi script esemplificativi presenti in alcuni programmi scritti in Python 2 a difficoltà crescente.

  • Listati Python 3: esempi script esemplificativi presenti in alcuni programmi scritti in Python 3 a difficoltà crescente.

  • Pip: guida a pip, gestore di pacchetti per Python, utile per installare moduli, librerie, frameworks, vari software per sviluppo, ricerca scientifica, svago ecc.

  • Interfacce grafiche: esempi di alcuni programmi scritti in Python 2.7.xx con semplice interfaccia grafica.

  • Interfacce grafiche Python 3: esempi di alcuni programmi scritti in Python 3.x con semplice interfaccia grafica.

  • Glade: guida a Glade, strumento per creare interfacce grafiche in GTK+ compatibili con Python.

Guide per principianti

I seguenti testi (principalmente in inglese) sono indicati per chiunque si voglia avvicinare per la prima volta a un linguaggio di programmazione.

Python 2

Python 3

Ulteriori risorse


CategoryProgrammazione