Come avviare un server Web semplice in Python 3 su Mac


"

Se sei un utente Python potresti già avere familiarità con il trucco pratico che ti consente di creare istantaneamente un semplice server web utilizzando una semplice stringa di comando immessa nella riga di comando di Mac OS. Ma se sei un utente Mac Python che ha installato o aggiornato a Python 3, troverai che la tradizionale stringa di comando dalle versioni precedenti di Python non funziona per avviare il server web nelle nuove versioni di Python 3.x +.

Non ti preoccupare, il semplice trucco del server web Python funziona ancora in Python 3 per Mac (e ovviamente anche per Linux e Windows, ma ovviamente copriamo MacOS), è che la sintassi del comando è leggermente diversa. Ti mostreremo come avviare un semplice web server con Python 3 usando il nuovo equivalente Python 3.0+ del comando python -m SimpleHTTerver.

Come avviare un server Web HTTP in Python 3.0+

Supponiamo che tu abbia già installato o aggiornato a Python 3.0+ su Mac, questa variazione del comando richiede Python 3.0 o più recente.

Dalla riga di comando, inserisci esattamente la seguente sintassi *:

python -m http.server

OPPURE (a seconda di come Python 3.x è installato e denominato):

python3 -m http.server

Hit return e Python 3 avvierà immediatamente un semplice server HTTP dalla directory in cui è stato eseguito il comando.

Il http.server in Python 3 verrà eseguito nel terminale, se nella directory non è presente alcun file Web, verrà mostrato l’indice della directory stesso.

Puoi verificarlo immediatamente aprendo il seguente URL in qualsiasi browser web sul computer:

http://0.0.0.0:8000

Tutte le attività del server web, come l’accesso a singoli file, cartelle, directory, ecc., Verranno mostrate nella finestra terminale attiva di Python come succede, una specie di coda di log web su un server Apache o Nginx.

* Nota importante: se Python e Python3 sono installati contemporaneamente, potrebbe essere necessario modificare leggermente la sintassi per fare riferimento a python3 e python2 o un’altra versione di Python. Questo dipenderà dal modo in cui è stato aggiornato a Python 3 su Mac, ma un esempio comune sarebbe invece il comando ‘python3’:

python3 -m http.server

Proprio come prima, premi Invio e la directory attiva verrà trasformata in un server Web.

"

Qual è l’equivalente Python3 di python -m CGIHTTerver?

Un altro trucco comune è usare il server CGI (Common Gateway Interface) in Python per gli script CGI in python o perl. Quindi se hai bisogno di eseguire l’equivalente python3 del comando “python -m CGIHTTPServer” per CGI che sarebbe il seguente:

python3 -m http.server --cgi

In alternativa, se Python 3 è installato e chiamato come python, il comando sarebbe semplicemente:

python -m http.server --cgi

In entrambi i casi è necessario il flag -cgi per avviare il server CGI HTTP in Python 3.

Viene visualizzato un errore che dice “/ usr / bin / python: nessun modulo chiamato http” e ora?

Se viene visualizzato un errore “/ usr / bin / python: No module named http” quando si tenta di eseguire la stringa di comando python -m http.server, molto probabilmente non si sta eseguendo Python 3 o si sta utilizzando il metodo sbagliato comando per python3 (cioè python vs python3, a seconda di come viene chiamata la versione e di come è stata installata o aggiornata su Mac). È anche possibile che Python non sia installato sul computer, anche se è meno probabile per Mac perché Python2 è installato di default su Mac OS, anche se gli utenti devono installare manualmente Python 3.x aggiornato su Mac, che conserva contemporaneamente l’originale Versione di rilascio di Python 2.x. Tipicamente questo è realizzato con Homebrew.

Cambia la sintassi come sopra indicato, o se stai usando una versione precedente di Python prova il comando “python -m SimpleHTTPServer” da Python 2 e versioni precedenti.

Ovviamente i server web Python semplici non sono pensati per gli ambienti di produzione e sono davvero i migliori per un quick scratchpad o un ambiente di test. Se si desidera eseguire un server Web che è pubblicamente rivolto o semplicemente più robusto in generale, si consiglia di utilizzare qualcosa come Apache o Nginx, anche se la configurazione di quelli singoli su un Mac richiede alcune impostazioni. Un’opzione più semplice per un ambiente server Web completo sul Mac è l’utilizzo di MAMP, che rende l’installazione e l’avvio di un ambiente Apache, MySQL, PHP completo sul Mac semplicemente come si ottiene.

Conosci altri suggerimenti o trucchi interessanti di Python? Conosci altre utili stringhe di comando Python per avviare i server http o in altro modo? Condividi con noi nei commenti qui sotto!

Articoli Correlati:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *