Kako pokrenuti jednostavan web poslužitelj u Python 3 na Macu

Sadržaj:

Anonim

Ako ste korisnik Pythona, možda ste već upoznati s praktičnim trikom koji vam omogućuje da trenutno stvorite jednostavan web poslužitelj pomoću jednostavnog naredbenog niza unesenog u naredbeni redak Mac OS-a. Ali ako ste korisnik Mac Pythona koji je instalirao ili ažurirao na Python 3, vidjet ćete da tradicionalni naredbeni niz iz prethodnih verzija Pythona ne radi za pokretanje web poslužitelja u novom Pythonu 3.x+ izdanja.

Bez brige, jednostavni Python trik web poslužitelja i dalje radi u Pythonu 3 za Mac (i za Linux i Windows također naravno, ali očito pokrivamo MacOS), radi se o tome da je sintaksa naredbe samo malo drugačije. Pokazat ćemo vam kako pokrenuti jednostavan web poslužitelj s Pythonom 3 pomoću novog Python 3.0+ ekvivalenta naredbe python -m SimpleHTTPServer.

Kako pokrenuti Web HTTP poslužitelj u Python 3.0+

Pretpostavljamo da ste već instalirali ili ažurirali Python 3.0+ na Macu, ova varijacija naredbe zahtijeva Python 3.0 ili noviji.

Iz naredbenog retka unesite točno sljedeću sintaksu:

python -m http.server

ILI (ovisno o tome kako je Python 3.x instaliran i imenovan):

python3 -m http.server

Pritisnite return i Python 3 će trenutno pokrenuti jednostavan HTTP poslužitelj iz direktorija u kojem je naredba izvršena.

http.poslužitelj u Pythonu 3 pokrenut će se u terminalu, ako u direktoriju nema web datoteke, prikazat će se sam indeks direktorija.

To možete testirati odmah otvaranjem sljedećeg URL-a u bilo kojem web pregledniku na računalu:

http://0.0.0.0:8000

Sve aktivnosti web poslužitelja, poput pristupa pojedinačnim datotekama, mapama, direktorijima itd., bit će prikazane u aktivnom prozoru terminala Python uživo kako se to događa, poput praćenja web zapisa na Apache ili Nginx poslužitelju .

Važna napomena: ako imate python i python3 instalirane istovremeno, možda ćete morati malo promijeniti sintaksu kako biste referencirali python3 i python2 ili drugu verziju pythona. To će ovisiti o tome kako ste ažurirali na Python 3 na Macu, ali uobičajeni primjer bi bio korištenje naredbe 'python3' umjesto toga:

python3 -m http.server

Kao i prije, pritisnite return i aktivni direktorij će se pretvoriti u web poslužitelj.

Koji je Python3 ekvivalent za python -m CGIHTTPServer?

Još jedan uobičajeni trik je korištenje CGI (Common Gateway Interface) poslužitelja u Pythonu za CGI skripte u pythonu ili perlu. Dakle, ako trebate pokrenuti python3 ekvivalent naredbe “python -m CGIHTTPServer” za CGI, to bi bilo kako slijedi:

python3 -m http.server --cgi

Alternativno, ako je Python 3 instaliran i nazvan kao python, naredba bi jednostavno bila:

python -m http.server --cgi

U svakom slučaju trebat će vam oznaka –cgi za pokretanje CGI HTTP poslužitelja u Python 3.

Dobijam pogrešku koja kaže “/usr/bin/python: nema modula pod nazivom http” što sad?

Ako vidite pogrešku “/usr/bin/python: Nema modula nazvanog http” kada pokušavate izvršiti naredbeni niz python -m http.server, najvjerojatnije ne koristite Python 3 ili koristite pogrešnu naredbu za python3 (tj. python protiv python3, ovisno o tome kako je verzija nazvana i kako je instalirana ili ažurirana na Mac). Također je moguće da Python uopće nije instaliran na računalu, iako je to manje vjerojatno za Macove jer je Python2 instaliran prema zadanim postavkama na Mac OS-u, iako korisnici moraju ručno instalirati ažurirani Python 3.x na Mac, koji istovremeno čuva izvorni Verzija izdanja Python 2.x. Obično se to postiže s Homebrewom.

Promijenite sintaksu kao što je gore navedeno ili ako koristite stariju verziju Pythona pokušajte s naredbom “python -m SimpleHTTPServer” iz Pythona 2 i starijih.

Naravno, python jednostavni web poslužitelji nisu namijenjeni za produkcijska okruženja i oni su zapravo najbolji samo za brzu natuknicu ili testno okruženje. Ako želite pokrenuti web-poslužitelj koji je javno okrenut ili samo robusniji općenito, trebali biste koristiti nešto poput Apachea ili Nginxa, iako njihovo pojedinačno konfiguriranje na Macu zahtijeva određena podešavanja. Jednostavnija opcija za potpuno okruženje web poslužitelja na Macu je korištenje MAMP-a, što čini postavljanje i pokretanje punog Apache, MySQL, PHP okruženja na Macu otprilike koliko god jednostavnim.

Znate li za još neke zanimljive savjete ili trikove za Python? Znate li za neke druge korisne python nizove naredbi za pokretanje http poslužitelja ili na neki drugi način? Podijelite s nama u komentarima ispod!

Kako pokrenuti jednostavan web poslužitelj u Python 3 na Macu