Kaip paleisti paprastą žiniatinklio serverį „Python 3“ sistemoje „Mac“.
Turinys:
Jei esate Python vartotojas, galbūt jau esate susipažinę su patogia gudrybe, kuri leidžia akimirksniu sukurti paprastą žiniatinklio serverį naudojant paprastą komandų eilutę, įvestą į Mac OS komandų eilutę. Bet jei esate Mac Python vartotojas, įdiegęs arba atnaujinęs Python 3, pamatysite, kad tradicinė komandų eilutė iš ankstesnių Python versijų neveikia norint inicijuoti žiniatinklio serverį naujoje Python 3 versijoje.x+ leidimai.
Nesijaudinkite, paprastas žiniatinklio serverio „Python“ triukas vis dar veikia „Python 3“, skirtoje „Mac“ (ir, žinoma, „Linux“ ir „Windows“, bet akivaizdu, kad mes apimame „MacOS“), tai yra ta, kad komandos sintaksė yra tik šiek tiek kitoks. Parodysime kaip paleisti paprastą žiniatinklio serverį naudojant Python 3 naudojant naują Python 3.0+ komandos python -m SimpleHTTPServer atitikmenį.
Kaip paleisti žiniatinklio HTTP serverį naudojant Python 3.0+
Manome, kad „Mac“ kompiuteryje jau įdiegėte arba atnaujinote „Python 3.0+“, šiam komandos variantui reikalinga „Python 3.0“ arba naujesnė versija.
Komandinėje eilutėje tiksliai įveskite šią sintaksę:
python -m http.serveris
ARBA (atsižvelgiant į tai, kaip Python 3.x įdiegtas ir pavadintas):
python3 -m http.serveris
Paspauskite return ir Python 3 akimirksniu paleis paprastą HTTP serverį iš katalogo, kuriame buvo vykdoma komanda.
Python 3 http.serveris veiks terminale, jei kataloge nėra žiniatinklio failo, bus rodomas pats katalogo indeksas.
Galite tai išbandyti iš karto atidarę šį URL bet kurioje kompiuterio žiniatinklio naršyklėje:
http://0.0.0.0:8000
Visa žiniatinklio serverio veikla, pvz., prieiga prie atskirų failų, aplankų, katalogų ir kt., bus rodoma aktyviame Python terminalo lange, kai tai atsitiks, panašiai kaip žiniatinklio žurnalų siuntimas Apache arba Nginx serveryje .
Svarbi pastaba: jei vienu metu įdiegėte python ir python3, gali tekti šiek tiek pakeisti sintaksę, kad būtų nuoroda į python3 ir python2 arba kitą python versiją. Tai priklausys nuo to, kaip atnaujinote į Python 3 „Mac“, tačiau įprastas pavyzdys būtų „python3“ komandos naudojimas:
python3 -m http.serveris
Kaip ir anksčiau, paspauskite „Return“ ir aktyvus katalogas bus paverstas žiniatinklio serveriu.
Kas yra Python3 atitikmuo python -m CGIHTTPServer?
Kitas dažnas triukas yra naudoti CGI (bendrųjų šliuzų sąsajos) serverį Python CGI scenarijus python arba perl. Taigi, jei reikia paleisti CGI komandos „python -m CGIHTTPServer“ atitikmenį python3, tai būtų taip:
python3 -m http.serveris --cgi
Arba, jei Python 3 yra įdiegtas ir pavadintas kaip python, komanda būtų tiesiog tokia:
python -m http.serveris --cgi
Bet kuriuo atveju jums reikės žymos –cgi, kad paleistumėte CGI HTTP serverį Python 3 versijoje.
Gavau klaidos pranešimą „/usr/bin/python: No module named http“ ką dabar?
Jei bandydami vykdyti python -m http.server komandų eilutę matote klaidą „/usr/bin/python: No module named http“, greičiausiai neveikiate Python 3 arba naudojate netinkamą python3 komandą (t. y. python vs python3, atsižvelgiant į tai, kaip versija pavadinta ir kaip ji buvo įdiegta arba atnaujinta „Mac“). Taip pat gali būti, kad „Python“ iš viso neįdiegtas kompiuteryje, nors tai mažiau tikėtina „Mac“ kompiuteriams, nes „Python2“ yra įdiegtas pagal numatytuosius nustatymus „Mac“ OS, nors naudotojai turi rankiniu būdu įdiegti atnaujintą „Python 3.x“ „Mac“, kuris kartu išsaugo originalą. Python 2.x leidimo versija. Paprastai tai pasiekiama naudojant Homebrew.
Pakeiskite sintaksę, kaip nurodyta anksčiau, arba, jei naudojate senesnę Python versiją, išbandykite komandą „python -m SimpleHTTPServer“ iš Python 2 ir ankstesnės versijos.
Žinoma, python paprasti žiniatinklio serveriai nėra skirti gamybinėms aplinkoms ir jie iš tikrųjų yra geriausi kaip greito bloknoto ar bandomosios aplinkos. Jei norite paleisti žiniatinklio serverį, kuris yra viešai prieinamas arba apskritai labiau patikimas, turėtumėte naudoti kažką panašaus į „Apache“ ar „Nginx“, tačiau norint juos konfigūruoti atskirai „Mac“ kompiuteryje, reikia tam tikros sąrankos. Paprastesnė parinktis visapusiškai žiniatinklio serverio aplinkai „Mac“ sistemoje yra naudoti MAMP, kuri leidžia nustatyti ir paleisti visą „Apache“, „MySQL“, PHP aplinką „Mac“ kompiuteryje taip paprasta, kaip tai įmanoma.
Ar žinote kokių kitų įdomių Python patarimų ar gudrybių? Ar žinote kokių nors kitų naudingų python komandų eilučių, skirtų paleisti http serverius ar kitaip? Pasidalykite su mumis toliau pateiktuose komentaruose!