Yksinkertaisen verkkopalvelimen käynnistäminen Python 3:ssa Macissa
Sisällysluettelo:
Jos olet Python-käyttäjä, saatat jo tuntea kätevän tempun, jonka avulla voit luoda yksinkertaisen verkkopalvelimen välittömästi käyttämällä helppoa komentomerkkijonoa, joka on syötetty Mac OS:n komentoriville. Mutta jos olet Mac Python -käyttäjä, joka on asentanut Python 3:n tai päivittänyt siihen, perinteinen komentomerkkijono aiemmista Python-versioista ei toimi käynnistämään verkkopalvelinta uudessa Python 3:ssa.x+ julkaisua.
Ei hätää, yksinkertainen verkkopalvelimen Python-temppu toimii edelleen Python 3 for Macissa (ja tietysti myös Linuxissa ja Windowsissa, mutta katamme ilmeisesti MacOS:n), komennon syntaksi on vain hieman erilainen. Näytämme miten käynnistät yksinkertaisen verkkopalvelimen Python 3:lla käyttämällä uutta Python 3.0+ -vastinetta python -m SimpleHTTPServer -komennolle.
Web-HTTP-palvelimen käynnistäminen Python 3.0+
Oletamme, että olet jo asentanut tai päivittänyt Python 3.0+ -versioon Macissa, tämä komennon muunnelma vaatii Python 3.0:n tai uudemman.
Syötä komentoriviltä seuraava syntaksi täsmälleen:
python -m http.palvelin
OR (riippuen siitä, kuinka Python 3.x on asennettu ja nimetty):
python3 -m http.palvelin
Paina return ja Python 3 käynnistää heti yksinkertaisen HTTP-palvelimen hakemistosta, jossa komento suoritettiin.
Python 3:n http.palvelin toimii päätteessä, jos hakemistossa ei ole web-tiedostoa, näytetään itse hakemistohakemisto.
Voit testata tämän heti avaamalla seuraavan URL-osoitteen missä tahansa tietokoneen selaimessa:
http://0.0.0.0:8000
Kaikki verkkopalvelimen toiminta, kuten yksittäisten tiedostojen, kansioiden, hakemistojen jne. käyttö, näytetään aktiivisessa Python-pääteikkunassa, kun se tapahtuu, tavallaan kuin verkkolokien pyrstö Apache- tai Nginx-palvelimella .
Tärkeä huomautus: jos python ja python3 on asennettu samanaikaisesti, saatat joutua muuttamaan syntaksia hieman viittaamaan python3:een ja python2:een tai muuhun python-versioon. Tämä riippuu siitä, kuinka päivitit Python 3:een Macissa, mutta yleinen esimerkki on python3-komennon käyttäminen sen sijaan:
python3 -m http.palvelin
Kuten ennenkin, paina return ja aktiivinen hakemisto muutetaan verkkopalvelimeksi.
Mikä on Python3-vastine python -m CGIHTTPServerille?
Toinen yleinen temppu on CGI-palvelimen (Common Gateway Interface) käyttö Pythonissa CGI-skriptien pythonissa tai perlissä. Jos sinun on suoritettava python3-vastine komennosta "python -m CGIHTTPServer" CGI:lle, se olisi seuraava:
python3 -m http.server --cgi
Vaihtoehtoisesti, jos Python 3 on asennettu ja nimetty pythoniksi, komento olisi yksinkertaisesti:
python -m http.server --cgi
Joka tapauksessa tarvitset -cgi-lipun CGI HTTP-palvelimen käynnistämiseen Python 3:ssa.
Saan virheilmoituksen "/usr/bin/python: No module named http" mitä nyt?
Jos näet "/usr/bin/python: No module named http" -virheen yrittäessäsi suorittaa python -m http.server -komentomerkkijonoa, et todennäköisesti käytä Python 3:a tai käytät väärää komentoa python3:lle (eli python vs python3 riippuen siitä, miten versio on nimetty ja kuinka se asennettiin tai päivitettiin Maciin). On myös mahdollista, että Python ei ole asennettu tietokoneeseen ollenkaan, vaikka se on epätodennäköisempää Mac-tietokoneissa, koska Python2 on asennettu oletusarvoisesti Mac OS:ään, vaikka käyttäjien on asennettava päivitetty Python 3.x manuaalisesti Maciin, joka säilyttää samalla alkuperäisen version. Python 2.x -julkaisuversio. Yleensä tämä saavutetaan Homebrew'lla.
Vaihda syntaksi yllä mainitulla tavalla tai jos käytät aiempaa Python-versiota, kokeile Python 2:sta ja sitä vanhemmasta python -m SimpleHTTPServer -komentoa.
Pythonin yksinkertaisia verkkopalvelimia ei tietenkään ole tarkoitettu tuotantoympäristöihin, ja ne ovat todellakin parhaita nopeaan muistilappuun tai testiympäristöön. Jos haluat käyttää verkkopalvelinta, joka on julkisesti päin tai vain yleisesti ottaen kestävämpi, kannattaa käyttää jotain Apachen tai Nginxin k altaista, vaikka niiden määrittäminen yksittäin Macissa vaatii jonkin verran asennusta. Yksinkertaisempi vaihtoehto täydelliseen verkkopalvelinympäristöön Macissa on käyttää MAMP:ia, mikä tekee täydellisen Apache-, MySQL-, PHP-ympäristön määrittämisestä ja käynnistämisestä Macissa suunnilleen yhtä helppoa kuin se voi olla.
Tiedätkö muita mielenkiintoisia Python-vinkkejä tai temppuja? Tiedätkö muita hyödyllisiä python-komentojonoja http-palvelimien käynnistämiseen tai muuten? Jaa kanssamme alla olevissa kommenteissa!