Sviluppare con Python su ServBay
Python è un linguaggio di programmazione potente e versatile, ampiamente utilizzato nello sviluppo web, nella data science, negli script di automazione e in molti altri ambiti. ServBay, pensato appositamente per gli sviluppatori, fornisce un ambiente di sviluppo web locale integrato e supporta più versioni di Python, consentendoti di integrarlo agevolmente con altri componenti ServBay (come server web e database) per costruire un workflow di sviluppo locale completo.
Cos'è Python?
Python è un linguaggio di programmazione di alto livello, interpretato e general-purpose, celebre per la sua sintassi chiara e la sua potenza. La filosofia di Python promuove la leggibilità e la semplicità del codice, rendendolo ideale per lo sviluppo rapido di applicazioni. Supporta diversi paradigmi di programmazione, fra cui quello orientato agli oggetti, imperativo, funzionale e procedurale. Il vero punto di forza di Python è il suo vasto standard library e l’enorme ecosistema di terze parti, che lo rendono molto usato in ambiti come sviluppo web (Django, Flask), analisi dati, intelligenza artificiale, calcolo scientifico e molti altri.
Supporto Python in ServBay
ServBay è progettato per offrire un modo semplice e veloce per installare e gestire versioni diverse di Python, senza doversi preoccupare di conflitti con la versione di sistema o processi d’installazione complessi. Grazie a ServBay puoi passare facilmente da una versione di Python all’altra per soddisfare le esigenze di ogni tuo progetto.
ServBay supporta le seguenti versioni di Python (la disponibilità può variare a seconda degli aggiornamenti di ServBay):
- Python 2.7
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14 (e versioni successive)
Queste versioni coprono sia lo storico Python 2.7, che ancora trova impiego in progetti legacy, sia tutte le release principali e più recenti di Python 3.x, così da poter scegliere sempre la soluzione più adatta.
Installare Python
L’installazione di Python tramite il pannello grafico (GUI) di ServBay è facile e intuitiva.
- Apri il pannello GUI di ServBay.
- Naviga nel menu
Pacchetti
sulla sinistra. - Nella lista dei pacchetti, trova la sezione
Python
. - Espandi la categoria
Python
per vedere l’elenco delle versioni disponibili. - Seleziona la versione di Python che ti interessa (ad esempio Python 3.12). Clicca sul pulsante verde
Installa
accanto alla versione desiderata. - ServBay scaricherà e installerà automaticamente la versione scelta e le componenti collegate. Al termine, il pulsante diventerà verde per segnalare che l’installazione ha avuto successo.
Pannello pacchetti della GUI ServBay, con elenco versioni Python e pulsanti di installazione
Puoi installare più versioni di Python contemporaneamente, secondo le tue necessità.
Usare Python dalla linea di comando
Le versioni di Python installate tramite ServBay vengono automaticamente integrate nell’ambiente di ServBay, rendendole subito accessibili dal terminale. ServBay imposta in modo intelligente la variabile PATH del tuo sistema, per permetterti di utilizzare facilmente gli interpreti Python installati.
Generalmente, ServBay mette a disposizione questi comandi:
python
: punta alla versione più recente di Python 3 installata.python2
: punta a Python 2.7 (se presente).python3
: punta alla versione di Python 3 più aggiornata installata.pythonX.Y
: permette di richiamare una versione specifica di Python, ad esempiopython3.12
(se disponibile).
Puoi verificare quale versione sia attiva nel terminale ServBay (lanciabile dal pannello GUI) o in qualsiasi altro terminale, purché ServBay sia attivo e il PATH sia impostato correttamente:
# Controlla a quale versione punta il comando python
python -V
# Output di esempio: Python 3.12.2
# Controlla a quale versione punta python3
python3 -V
# Output di esempio: Python 3.12.2
# Se hai Python 2.7 installato, puoi controllarne la versione
python2 -V
# Output di esempio: Python 2.7.18
# Se è presente una versione specifica, puoi richiamarla direttamente
python3.10 -V
# Output di esempio: Python 3.10.13
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Esegui un semplice script Python:
Crea un nuovo file, ad esempio
hello.py
, nella root del tuo sito (es./Applications/ServBay/www
) o in qualsiasi posizione tu preferisca.Inserisci il seguente codice Python:
python# hello.py print("Hello from ServBay Python!")
1
2Salva il file.
Apri il terminale (o quello integrato in ServBay; se usi il terminale di sistema, assicurati che ServBay sia avviato e che il PATH sia settato correttamente).
Spostati nella cartella in cui hai salvato
hello.py
.Esegui lo script con il comando
python
:bash# Supponendo che tu abbia creato hello.py nella cartella www di ServBay cd /Applications/ServBay/www python hello.py # Output: Hello from ServBay Python!
1
2
3
4Oppure, usa una versione specifica:
bashpython3.12 hello.py # Output: Hello from ServBay Python!
1
2
Gestire i pacchetti Python (con pip)
Ogni versione di Python installata tramite ServBay include anche il gestore dei pacchetti pip
per installare e amministrare librerie di terze parti.
TIP
ServBay fornisce già pip
integrato, non è richiesto installarlo separatamente.
Il comando base per installare un pacchetto è pip install <nome-pacchetto>
. Nota che, se hai più versioni di Python installate, dovrai utilizzare la versione corretta di pip
. Di solito puoi usare pipX.Y
oppure chiamare pip
tramite pythonX.Y -m pip
.
- Usa il
pip
predefinito (di solito legato apython
opython3
):bashpip install requests
1 - Per una versione specifica di pip:bash
pip3.12 install requests
1 - Metodo consigliato (più esplicito), tramite modulo:bash
python3.12 -m pip install requests
1
Isolare le dipendenze di progetto con un ambiente virtuale Python
Anche se ServBay ti permette di installare e utilizzare più versioni globali di Python, è altamente consigliato lavorare con ambienti virtuali Python per ogni progetto.
Perché un ambiente virtuale?
- Isolamento delle dipendenze: Ogni progetto può richiedere versioni diverse degli stessi pacchetti (ad es., progetto A ha bisogno di
requests==2.25.0
, progetto B direquests==2.28.1
). Un ambiente virtuale crea uno spazio Python separato per ciascun progetto, con una propria cartellasite-packages
, evitando conflitti tra le dipendenze. - Uniformità degli ambienti: Garantisce che ambienti di sviluppo, test e produzione utilizzino la stessa lista di dipendenze (facilitando anche la gestione tramite file
requirements.txt
opyproject.toml
). - Ordine e pulizia: Non si sporca l’installazione globale gestita da ServBay con pacchetti specifici di singoli progetti.
Come creare e utilizzare un ambiente virtuale (con il modulo integrato venv
):
Supponiamo tu voglia lavorare al progetto my_flask_app
usando Python 3.12 installato tramite ServBay:
- Scegli la versione di Python da usare: (es.
python3.12
) - Crea l'ambiente virtuale:bashVerrà creata la cartella
# Entrare nella cartella del progetto cd /Applications/ServBay/www # Creare la directory del progetto mkdir my_flask_app cd my_flask_app # Creare un ambiente virtuale con la versione specifica di Python # '.venv' è una convenzione come nome della cartella python3.12 -m venv .venv
1
2
3
4
5
6
7
8
9.venv
all’interno dimy_flask_app
con una copia dedicata dell’interprete,pip
e tutte le relative librerie. - Attiva l’ambiente virtuale:bashDopo l’attivazione, nella tua shell apparirà il prefisso
# Su macOS source .venv/bin/activate
1
2(.venv)
e i comandipython
/pip
saranno riferiti all’ambiente virtuale. - Installa le librerie necessarie:bash
# I pacchetti saranno installati solo in .venv pip install Flask requests # Visualizza i pacchetti installati pip list
1
2
3
4
5 - Sviluppa la tua applicazione...
- Per uscire dall’ambiente virtuale: quando hai finito, esegui:bash
deactivate
1
L’uso di ambienti virtuali si combina perfettamente con il file .servbay.config
che vedremo nella prossima sezione, massimizzando flessibilità e isolamento dei progetti.
Gestire la versione Python a livello di progetto con .servbay.config
ServBay offre una funzionalità avanzata: impostando un file chiamato .servbay.config
nella root di un progetto, puoi specificare automaticamente le versioni degli strumenti di sviluppo da utilizzare (come Python).
Come funziona:
Se, tramite il terminale integrato in ServBay, entri nella cartella contenente .servbay.config
, ServBay leggerà il file e modificherà temporaneamente le variabili d’ambiente della sessione, così che i comandi come python
, php
, node
punteranno ai binari specificati.
Il file .servbay.config
influisce solo sull’ambiente command line e si applica solo alla directory in cui è posizionato e a tutte le sue sottocartelle. Non ha effetti sul server web.
Formato del file:
.servbay.config
è un semplice file di testo in formato key-value. Per specificare la versione di Python installata via ServBay da usare, inserisci la chiave PYTHON_VERSION
con il numero di versione desiderato (es. 3.11
, 3.12
).
# Esempio di file .servbay.config
# Imposta Python 3.11 come versione per questo progetto
PYTHON_VERSION=3.11
# Puoi specificare altre versioni di strumenti
PHP_VERSION=8.2
NODE_VERSION=20
# ... altre opzioni, ad esempio repository, path cache ecc. ...
# NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
# GOPROXY=https://goproxy.cn,direct
2
3
4
5
6
7
8
9
10
11
Vantaggi:
- Switch automatico della versione: Non serve cambiare manualmente la versione globale di Python o attivare ogni volta un ambiente virtuale (anche se l’uso di virtualenv resta consigliato per la gestione dei pacchetti). Basta entrare nella directory del progetto, e ServBay adeguerà automaticamente l’ambiente.
- Isolamento tra progetti: Ogni progetto userà sempre la versione corretta di Python prevista, evitando problemi dovuti a cambi di versioni globali.
- Collaborazione in team: Puoi includere
.servbay.config
nei tuoi repository Git: chiunque cloni il progetto potrà lavorare nella stessa versione di base dell’ambiente.
Esempi d’uso:
Supponiamo di avere due progetti:
project-a
: richiede Python 3.11project-b
: richiede Python 3.14
Basterà creare un file .servbay.config
nella root di ciascun progetto:
/Applications/ServBay/www/project-a/.servbay.config
:iniPYTHON_VERSION=3.11
1/Applications/ServBay/www/project-b/.servbay.config
:iniPYTHON_VERSION=3.14
1
Se navighi in /Applications/ServBay/www/project-a
tramite terminale ServBay e digiti python -V
, otterrai Python 3.11.x; se passi a /Applications/ServBay/www/project-b
e ripeti il comando, otterrai Python 3.14.x.
Nota: La versione di Python impostata da .servbay.config
si riferisce alla versione di base visibile da ServBay. È comunque raccomandato gestire le dipendenze di progetto usando virtualenv (venv
, pipenv
, poetry
) per isolare i pacchetti.
Integrazione con altri componenti ServBay
Uno dei punti di forza di ServBay è proprio la facilità con cui puoi aggregare Python con altre tecnologie nell’ambiente locale:
- Sviluppo web: Usa Caddy o Nginx in ServBay come web server e configura questi ultimi per ospitare applicazioni Python (ad esempio su framework Django o Flask). Puoi impostare proxy inverso in modo che le richieste HTTP siano inoltrate al server dell’applicazione Python (es. Gunicorn, uWSGI).
- Database: Le applicazioni Python spesso necessitano di un database. ServBay offre MySQL, PostgreSQL, MongoDB e altri. Puoi collegarti a questi DB tramite le librerie corrispondenti (
psycopg2
per PostgreSQL,mysql-connector-python
per MySQL, ecc.). - Cache: Puoi far uso di Redis o Memcached, offerti da ServBay, come sistema di cache per ottimizzare le performance delle tue applicazioni Python.
Avvertenze
- PATH dell’ambiente: ServBay modifica la variabile PATH nel terminale per dare priorità agli strumenti installati tramite ServBay. Se nel sistema hai anche versioni standalone di Python, fai attenzione a quale interprete viene effettivamente richiamato. Puoi verificarlo con
which python
owhich python3
. - Ambienti virtuali: Pur gestendo le installazioni di base di Python, ServBay consiglia di isolare ogni progetto tramite ambienti virtuali. Questo mantiene l’ambiente ordinato e previene conflitti tra dipendenze.
- Dipendenze di sistema: Alcuni pacchetti Python richiedono librerie di sistema (ad esempio strumenti di compilazione o librerie di dev). In caso di errori in fase di installazione di pacchetti, consulta la documentazione o il messaggio d’errore: potresti dover installare dipendenze extra tramite Homebrew o strumenti equivalenti.
Domande frequenti (FAQ)
D: ServBay supporta la convivenza di Python 2.x e Python 3.x?
R: Sì, puoi installare entrambe tramite ServBay e usarle parallelamente attraverso i comandi python2
e python3
.
D: Ho installato più versioni di Python, come imposto quale versione viene usata di default dal comando python
?
R: Puoi impostare la versione di default per Python 2.x e Python 3.x nella sezione “Impostazioni” di ServBay. Per ulteriore flessibilità o differenziare per singolo progetto, è altamente consigliato usare .servbay.config
, che forza l’uso della specifica versione Python indicata appena entri nella directory del progetto.
D: Come installo pacchetti di terze parti su una specifica versione di Python installata tramite ServBay?
R: Utilizza il comando pip
associato alla versione desiderata. Ad esempio, per Python 3.12, usa python3.12 -m pip install <nome-pacchetto>
. L’operazione è consigliata in un ambiente virtuale attivo.
D: Come configuro il server web di ServBay per far girare una web app Python?
R: Tipicamente si tratta di configurare il file di sito di Caddy o Nginx e impostare le regole di proxy inverso, così da inoltrare le richieste HTTP al server dell’app Python in ascolto su una porta specifica. Il setup dettagliato dipende dal framework/app server utilizzato (es. Flask, Django, Gunicorn, ecc.). Consulta la documentazione di ServBay per esempi di configurazione.
Conclusione
ServBay offre agli sviluppatori Python su macOS un ambiente locale pratico e integrato. Con ServBay puoi installare e gestire in modo semplice più versioni di Python, gestire le librerie tramite pip
, e integrare facilmente le tue app Python con i server web e i database offerti da ServBay. In combinazione con l’uso di ambienti virtuali, potrai realizzare ambienti di sviluppo stabili, isolati e perfettamente adatti a ogni singolo progetto.