So starten Sie einen einfachen Webserver in Python 3 auf dem Mac

Inhaltsverzeichnis:

Anonim

Wenn Sie ein Python-Benutzer sind, sind Sie vielleicht bereits mit dem praktischen Trick vertraut, mit dem Sie mit einer einfachen Befehlszeichenfolge, die in die Befehlszeile von Mac OS eingegeben wird, sofort einen einfachen Webserver erstellen können. Wenn Sie jedoch ein Mac-Python-Benutzer sind, der Python 3 installiert oder auf Python 3 aktualisiert hat, werden Sie feststellen, dass die herkömmliche Befehlszeichenfolge aus den früheren Python-Versionen nicht funktioniert, um den Webserver im neuen Python 3 zu initiieren.x+ Versionen.

Keine Sorge, der einfache Webserver-Python-Trick funktioniert immer noch in Python 3 für Mac (und natürlich auch für Linux und Windows, aber wir decken offensichtlich MacOS ab), es liegt an der Befehlssyntax nur etwas anders. Wir zeigen Ihnen, wie Sie einen einfachen Webserver mit Python 3 starten, indem Sie das neue Python 3.0+-Äquivalent des Befehls python -m SimpleHTTPServer verwenden.

So starten Sie einen Web-HTTP-Server in Python 3.0+

Wir gehen davon aus, dass Sie bereits Python 3.0+ auf dem Mac installiert oder darauf aktualisiert haben, diese Variante des Befehls erfordert Python 3.0 oder neuer.

Geben Sie in der Befehlszeile genau die folgende Syntax ein:

python -m http.server

ODER (je nachdem, wie Python 3.x installiert und benannt ist):

python3 -m http.server

Drücken Sie Return und Python 3 startet sofort einen einfachen HTTP-Server aus dem Verzeichnis, in dem der Befehl ausgeführt wurde.

Der http.server in Python 3 wird im Terminal ausgeführt, wenn keine Webdatei im Verzeichnis vorhanden ist, wird der Verzeichnisindex selbst angezeigt.

Sie können dies sofort testen, indem Sie die folgende URL in einem beliebigen Webbrowser auf dem Computer öffnen:

http://0.0.0.0:8000

Alle Webserver-Aktivitäten, wie der Zugriff auf einzelne Dateien, Ordner, Verzeichnisse usw., werden live im aktiven Python-Terminalfenster angezeigt, so wie sie Weblogs auf einem Apache- oder Nginx-Server verfolgen .

Wichtiger Hinweis: Wenn Sie python und python3 gleichzeitig installiert haben, müssen Sie möglicherweise die Syntax geringfügig ändern, um auf python3 und python2 oder eine andere Python-Version zu verweisen. Dies hängt davon ab, wie Sie auf dem Mac auf Python 3 aktualisiert haben, aber ein gängiges Beispiel wäre stattdessen die Verwendung des Befehls „python3“:

python3 -m http.server

Wie zuvor drücken Sie die Eingabetaste und das Active Directory wird in einen Webserver umgewandelt.

Was ist das Python3-Äquivalent von python -m CGIHTTPServer?

Ein weiterer gängiger Trick ist die Verwendung des CGI-Servers (Common Gateway Interface) in Python für CGI-Skripte in Python oder Perl. Wenn Sie also das Python3-Äquivalent des Befehls „python -m CGIHTTPServer“ für CGI ausführen müssen, würde das wie folgt lauten:

python3 -m http.server --cgi

Wenn alternativ Python 3 installiert und als Python benannt ist, lautet der Befehl einfach:

python -m http.server --cgi

In jedem Fall benötigen Sie das Flag –cgi, um den CGI-HTTP-Server in Python 3 zu starten.

Ich erh alte die Fehlermeldung „/usr/bin/python: Kein Modul namens http“ was nun?

Wenn beim Versuch, die Befehlszeichenfolge python -m http.server auszuführen, der Fehler „/usr/bin/python: Kein Modul mit dem Namen http“ angezeigt wird, führen Sie höchstwahrscheinlich nicht Python 3 aus, oder Sie verwenden den falschen Befehl für python3 (dh python vs python3, je nachdem, wie die Version benannt ist und wie sie auf dem Mac installiert oder aktualisiert wurde). Es ist auch möglich, dass Python überhaupt nicht auf dem Computer installiert ist, obwohl dies bei Macs weniger wahrscheinlich ist, da Python2 standardmäßig auf Mac OS installiert ist, obwohl Benutzer das aktualisierte Python 3.x manuell auf dem Mac installieren müssen, wodurch gleichzeitig das Original erh alten bleibt Python 2.x-Release-Version. Typischerweise wird dies mit Homebrew erreicht.

Ändern Sie die Syntax wie oben angegeben, oder versuchen Sie, wenn Sie eine frühere Python-Version verwenden, den Befehl „python -m SimpleHTTPServer“ von Python 2 und früher.

Natürlich sind die einfachen Python-Webserver nicht für Produktionsumgebungen gedacht und sie eignen sich wirklich am besten für eine schnelle Scratchpad- oder Testumgebung. Wenn Sie einen öffentlich zugänglichen oder allgemein robusteren Webserver betreiben möchten, sollten Sie sich für etwas wie Apache oder Nginx entscheiden, obwohl die Konfiguration dieser einzeln auf einem Mac einige Einstellungen erfordert. Eine einfachere Option für eine vollständige Webserverumgebung auf dem Mac ist die Verwendung von MAMP, wodurch das Einrichten und Starten einer vollständigen Apache-, MySQL- und PHP-Umgebung auf dem Mac so einfach wie möglich wird.

Kennen Sie weitere interessante Python-Tipps oder -Tricks? Kennen Sie andere hilfreiche Python-Befehlszeichenfolgen zum Starten von HTTP-Servern oder auf andere Weise? Teilen Sie es uns in den Kommentaren unten mit!

So starten Sie einen einfachen Webserver in Python 3 auf dem Mac