Egyszerű webszerver indítása a Python 3-ban Mac rendszeren

Tartalomjegyzék:

Anonim

Ha Ön Python-felhasználó, akkor már ismerheti azt a praktikus trükköt, amely lehetővé teszi egy egyszerű webszerver azonnali létrehozását a Mac OS parancssorába beírt egyszerű parancssor segítségével. De ha Ön Mac Python-felhasználó, aki telepítette vagy frissítette a Python 3-at, akkor azt fogja tapasztalni, hogy a korábbi Python-verziók hagyományos parancssora nem indítja el a webszervert az új Python 3-ban.x+ kiadás.

Aggodalomra semmi ok, az egyszerű webszerver Python trükk továbbra is működik a Python 3 for Mac-ben (és persze Linuxon és Windowson is, de nyilvánvalóan a MacOS-re vonatkozik), a parancs szintaxisa csak kicsit más. Megmutatjuk, hogyan indíthat el egy egyszerű webszervert Python 3-mal a python -m SimpleHTTPServer parancs új Python 3.0+ megfelelőjének használatával.

Hogyan indítsunk el webes HTTP-kiszolgálót Python 3.0+

Feltételezzük, hogy már telepítette vagy frissítette a Python 3.0+ verziót a Mac rendszeren, a parancs ezen változatához Python 3.0 vagy újabb verzióra van szükség.

A parancssorból pontosan írja be a következő szintaxist:

python -m http.server

OR (a Python 3.x telepítésének és elnevezésétől függően):

python3 -m http.server

Nyomja meg a return gombot, és a Python 3 azonnal elindít egy egyszerű HTTP-kiszolgálót abból a könyvtárból, amelyben a parancsot végrehajtották.

A Python 3 http.server futni fog a terminálban, ha nincs webfájl a könyvtárban, akkor maga a könyvtárindex jelenik meg.

Ezt azonnal tesztelheti, ha megnyitja a következő URL-t a számítógép bármely böngészőjében:

http://0.0.0.0:8000

Minden webszerver-tevékenység, mint például az egyes fájlok, mappák, könyvtárak stb. elérése, az aktív Python terminálablakban élőben jelenik meg, mint ahogy az Apache- vagy Nginx-szerveren a webnaplók lerakása. .

Fontos megjegyzés: ha a python és a python3 egyidejűleg telepítve van, előfordulhat, hogy kissé módosítania kell a szintaxist a python3 és a python2 hivatkozásra vagy egy másik python verzióra. Ez attól függ, hogyan frissített Python 3-ra a Mac rendszeren, de egy gyakori példa a „python3” parancs használata helyett:

python3 -m http.server

Ugyanúgy, mint korábban, nyomja meg a return gombot, és az aktív könyvtár webszerverré alakul.

Mi a Python3 megfelelője a python -m CGIHTTPServernek?

Egy másik gyakori trükk a CGI (Common Gateway Interface) kiszolgáló használata Pythonban python vagy perl CGI-szkriptekhez. Így ha a „python -m CGIHTTPServer” parancs python3 megfelelőjét kell futtatnia a CGI-hez, akkor a következőképpen néz ki:

python3 -m http.server --cgi

Ha a Python 3 telepítve van és Python néven van elnevezve, akkor a parancs egyszerűen a következő lenne:

python -m http.server --cgi

A Python 3-ban a CGI HTTP-kiszolgáló elindításához mindkét esetben szükség lesz a –cgi jelzőre.

Hibaüzenetet kapok a következővel: „/usr/bin/python: Nincs http nevű modul” most mi van?

Ha „/usr/bin/python: No moduled named http” hibát lát a python -m http.server parancskarakterlánc futtatásakor, akkor valószínűleg nem a Python 3-at futtatja, vagy rossz parancsot használ a python3-hoz (azaz python vs python3, attól függően, hogy a verzió hogyan van elnevezve, és hogyan lett telepítve vagy frissítve a Mac rendszeren). Az is lehetséges, hogy a Python egyáltalán nincs telepítve a számítógépre, bár ez kevésbé valószínű Mac-eken, mivel a Python2 alapértelmezés szerint telepítve van a Mac OS rendszeren, bár a felhasználóknak manuálisan kell telepíteniük a frissített Python 3.x-et a Mac-re, amely egyidejűleg megőrzi az eredeti verziót. Python 2.x kiadású verzió. Ez általában a Homebrew segítségével érhető el.

Módosítsa a szintaxist a fent hivatkozott módon, vagy ha korábbi Python-verziót használ, próbálja ki a „python -m SimpleHTTPServer” parancsot a Python 2 és korábbi verzióiból.

Természetesen a python egyszerű webszervereket nem termelési környezetekhez tervezték, és valójában csak a legjobbak egy gyors jegyzettömbhöz vagy tesztkörnyezethez. Ha olyan webszervert szeretne futtatni, amely nyilvános, vagy csak általában robusztusabb, akkor valami olyan megoldást szeretne használni, mint az Apache vagy az Nginx, bár ezek egyedi konfigurálása Macen némi beállítást igényel. Egy egyszerűbb lehetőség teljes webszerver-környezethez Mac számítógépen a MAMP használata, amely a teljes Apache, MySQL, PHP környezet beállítását és elindítását teszi körülbelül olyan egyszerűvé Mac számítógépen, amennyire csak lehet.

Tudsz egyéb érdekes Python tippeket vagy trükköket? Tud más hasznos python parancskarakterláncról a http-kiszolgálók indításához vagy más módon? Oszd meg velünk kommentben lent!

Egyszerű webszerver indítása a Python 3-ban Mac rendszeren