Com iniciar un servidor web simple a Python 3 a Mac
Taula de continguts:
Si sou un usuari de Python, potser ja esteu familiaritzat amb el pràctic truc que us permet crear instantàniament un servidor web senzill mitjançant una cadena d'ordres senzilla introduïda a la línia d'ordres de Mac OS. Però si sou un usuari de Mac Python que ha instal·lat o actualitzat a Python 3, trobareu que la cadena d'ordres tradicional de les versions anteriors de Python no funciona per iniciar el servidor web al nou Python 3.x+ llançaments.
No et preocupis, el senzill truc del servidor web Python encara funciona a Python 3 per a Mac (i també per a Linux i Windows, per descomptat, però òbviament estem cobrint MacOS), és que la sintaxi de l'ordre és només una mica diferent. Us mostrarem com iniciar un servidor web senzill amb Python 3 utilitzant el nou equivalent Python 3.0+ de l'ordre python -m SimpleHTTPServer.
Com iniciar un servidor HTTP web a Python 3.0+
Suposem que ja heu instal·lat o actualitzat a Python 3.0+ al Mac, aquesta variació de l'ordre requereix Python 3.0 o més recent.
Des de la línia d'ordres, introduïu exactament la sintaxi següent:
python -m http.server
OR (segons com s'instal·li i s'anomena Python 3.x):
python3 -m http.server
Hit return i Python 3 iniciarà instantàniament un servidor HTTP senzill des del directori on s'ha executat l'ordre.
El http.server de Python 3 s'executarà al terminal, si no hi ha cap fitxer web al directori, es mostrarà el propi índex del directori.
Podeu provar-ho immediatament obrint l'URL següent a qualsevol navegador web de l'ordinador:
http://0.0.0.0:8000
Tota l'activitat del servidor web, com ara l'accés a fitxers, carpetes, directoris, etc. individuals, es mostrarà a la finestra de terminal activa de Python en directe tal com succeeixi, com si fossin registres web en un servidor Apache o Nginx. .
Nota important: si teniu python i python3 instal·lats simultàniament, potser haureu de canviar lleugerament la sintaxi per fer referència a python3 i python2 o una altra versió de python. Això dependrà de com s'hagi actualitzat a Python 3 al Mac, però un exemple comú seria utilitzar l'ordre "python3":
python3 -m http.server
Com abans, premeu Retorn i el directori actiu es convertirà en un servidor web.
Quin és l'equivalent Python3 de python -m CGIHTTPServer?
Un altre truc comú és utilitzar el servidor CGI (Common Gateway Interface) a Python per a scripts CGI en python o perl. Per tant, si necessiteu executar l'equivalent python3 de l'ordre "python -m CGIHTTPServer" per a CGI, seria el següent:
python3 -m http.server --cgi
Com a alternativa, si Python 3 està instal·lat i s'anomena Python, l'ordre seria simplement:
python -m http.server --cgi
De qualsevol manera, necessitareu el senyalador –cgi per iniciar el servidor HTTP CGI a Python 3.
Rebo un error que diu “/usr/bin/python: Cap mòdul anomenat http” i ara què?
Si veieu un error “/usr/bin/python: cap mòdul anomenat http” quan intenteu executar la cadena d'ordres python -m http.server, és probable que no esteu executant Python 3, o Esteu utilitzant l'ordre incorrecta per a python3 (és a dir, python vs python3, depenent de com s'anomena la versió i de com s'ha instal·lat o actualitzat al Mac). També és possible que Python no estigui instal·lat a l'ordinador, tot i que això és menys probable per a Mac perquè Python2 s'instal·la de manera predeterminada a Mac OS, tot i que els usuaris han d'instal·lar manualment el Python 3.x actualitzat al Mac, que conserva simultàniament l'original. Versió de llançament de Python 2.x. Normalment això s'aconsegueix amb Homebrew.
Canvieu la sintaxi tal com es fa referència més amunt, o si feu servir una versió anterior de Python, proveu l'ordre “python -m SimpleHTTPServer” de Python 2 i anteriors.
Per descomptat, els servidors web simples de Python no estan pensats per a entorns de producció i són realment els millors per a un bloc de notes ràpid o un entorn de prova. Si voleu executar un servidor web que s'ofereixi al públic o simplement més robust en general, voldríeu anar amb alguna cosa com Apache o Nginx, tot i que configurar-los individualment en un Mac requereix una mica de configuració. Una opció més senzilla per a un entorn de servidor web complet al Mac és utilitzar MAMP, la qual cosa fa que la configuració i l'inici d'un entorn Apache, MySQL i PHP complet al Mac sigui tan senzill com és possible.
Coneixeu altres consells o trucs interessants de Python? Coneixeu altres cadenes d'ordres Python útils per iniciar servidors http o d'una altra manera? Comparteix amb nos altres als comentaris a continuació!