Introduzione

Flask è un micro framework web gratuito e open source per Python progettato per aiutare gli sviluppatori a creare applicazioni web sicure, scalabili e gestibili. Flask è basato su Werkzeug e utilizza Jinja2 come template engine.

A differenza di Django, per impostazione predefinita Flask non include ORM, convalida di moduli o altre funzionalità fornite da librerie di terze parti. Flask è creato pensando alle estensioni, che sono pacchetti Python che aggiungono funzionalità a un'applicazione Flask.

Esistono diversi metodi per installare Flask su Ubuntu.

I pacchetti Flask sono inclusi nei repository ufficiali di Ubuntu e possono essere installati utilizzando il gestore di pacchetti apt. Questo è il modo più semplice per installare Flask su Ubuntu 20.04 LTS Focal Fossa, ma non così flessibile come l'installazione in un ambiente virtuale. Inoltre, la versione inclusa nei repository potrebbe essere in ritardo rispetto all'ultima versione di Flask.

Gli ambienti virtuali consentono di creare un ambiente isolato per diversi progetti Python. In questo modo, puoi avere più ambienti Flask diversi su un singolo computer e installare una versione specifica di un modulo in base al progetto senza preoccuparti che influirà sulle altre installazioni di Flask. Se installi Flask nell'ambiente globale, puoi installare solo una versione di Flask sul tuo computer.

In questo articolo, discuteremo come installare Flask su Ubuntu 20.04 LTS Focal Fossa all'interno di un ambiente virtuale Python.

Se desideri installare Flask su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Flask su Ubuntu

Ubuntu 20.04 LTS Focal Fossa viene rilasciato con Python 3.8. Puoi verificare che Python sia installato sul tuo sistema digitando:

python3 -V

L'output dovrebbe essere simile al seguente:

Python 3.8.5

Il modo consigliato per creare un ambiente virtuale è utilizzare il modulo venv, fornito dal pacchetto python3-venv. Eseguire il seguente comando per installare il pacchetto:

sudo apt update
sudo apt install python3-venv

Una volta installato il modulo, siamo pronti per creare un ambiente virtuale per l'applicazione Flask.

Passa alla directory, con il comando cd, in cui desideri archiviare gli ambienti virtuali Python 3. Può essere la tua home directory o qualsiasi altra directory in cui il tuo utente ha i permessi di lettura e scrittura.

Crea una nuova directory con il comando mkdir per l'applicazione Flask ed entraci:

mkdir flask_app && cd flask_app

Esegui il seguente comando all'interno della directory per creare l'ambiente virtuale:

python3 -m venv venv

Il comando creerà una directory chiamata venv, che contiene una copia del binario Python, il gestore di pacchetti Pip, la libreria Python standard e altri file di supporto. Puoi usare qualsiasi nome tu voglia per l'ambiente virtuale.

Per iniziare a utilizzare l'ambiente virtuale, è necessario attivarlo con lo script activate:

source venv/bin/activate

Una volta attivato, la directory bin dell'ambiente virtuale verrà aggiunta all'inizio della variabile $PATH. Anche il prompt della shell cambierà e mostrerà il nome dell'ambiente virtuale che stai attualmente utilizzando. In questo esempio è venv.

Ora che l'ambiente virtuale è attivato, usa il gestore di pacchetti Python pip per installare Flask:

pip install Flask

All'interno dell'ambiente virtuale, puoi usare il comando pip invece di pip3 e python invece di python3.

Per verificare l'installazione, eseguire il seguente comando, che stampa la versione di Flask:

python -m flask --version

Al momento della stesura di questo articolo, l'ultima versione ufficiale di Flask è la 1.1.2:

Python 3.8.5
Flask 1.1.2
Werkzeug 1.0.1

La tua versione di Flask potrebbe differire dalla versione mostrata in questo esempio.

Creare un'applicazione minima

Creeremo una semplice applicazione hello world che stamperà semplicemente "Hello World!".

Apri il tuo editor di testo o IDE Python e crea il seguente file:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'
~/flask_app/hello.py

Ecco cosa fa il codice:

  1. La prima riga importa la classe Flask.
  2. La seconda riga crea una nuova istanza della classe Flask.
  3. route() viene utilizzato per registrare la funzione hello_world per il percorso /. Quando viene richiesto questo percorso, viene chiamata la funzione e il messaggio "Hello World!" viene restituito al client.

Salva il file con nome hello.py e torna alla finestra del terminale.

Useremo il comando flask per eseguire l'applicazione, ma prima dobbiamo dire alla shell con cui lavorare impostando la variabile d'ambiente FLASK_APP:

export FLASK_APP=hello.py
flask run

Il comando precedente avvierà il server integrato di sviluppo.

L'output sarà simile al seguente:

 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Se hai installato Flask su una macchina virtuale e desideri accedere al server di sviluppo Flask, puoi rendere il server disponibile pubblicamente aggiungendo --host=0.0.0.0 al comando flask run.

Apri http://127.0.0.1:5000 nel tuo browser web e ti verrà presentato il messaggio "Hello World!".

Per interrompere il server di sviluppo, premi CTRL-C nel tuo terminale.

Una volta terminato il tuo lavoro, disattiva l'ambiente digitando virtuale digitando deactivate nel terminale:

deactivate

Conclusione

Ti abbiamo mostrato come creare un ambiente virtuale Python e installare Flask sulla tua macchina Ubuntu 20.04 LTS Focal Fossa. Per creare ambienti di sviluppo Flask aggiuntivi, ripetere la stessa procedura.

Se non conosci Flask, visita la pagina della documentazione di Flask e scopri come sviluppare la tua prima app Flask.