Empfohlen, 2024

Die Wahl des Herausgebers

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

Screencast #43: Einfachen Webserver am Mac starten

Screencast #43: Einfachen Webserver am Mac starten

Inhaltsverzeichnis:

Anonim

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

Keine Sorge, der einfache Web-Server-Python-Trick funktioniert immer noch in Python 3 für Mac (und natürlich auch für Linux und Windows, aber wir behandeln natürlich MacOS). Die Befehlssyntax unterscheidet sich nur geringfügig. Wir zeigen Ihnen, wie Sie einen einfachen Webserver mit Python 3 mithilfe des neuen Python 3.0+ -Äquivalents des Befehls python -m SimpleHTTPServer starten.

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

Wir gehen davon aus, dass Sie Python 3.0+ auf dem Mac bereits installiert oder 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 (abhängig davon, wie Python 3.x installiert und benannt ist):

python3 -m http.server

Drücken Sie die Eingabetaste, 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 sich keine Webdatei im Verzeichnis befindet, 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 im aktiven Python-Terminal-Fenster live angezeigt, sozusagen das Erstellen von Webprotokollen auf einem Apache- oder Nginx-Server.

* Wichtiger Hinweis: Wenn Sie Python und Python3 gleichzeitig installiert haben, müssen Sie möglicherweise die Syntax leicht ä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. Ein gängiges Beispiel wäre jedoch die Verwendung des Befehls 'python3':

python3 -m http.server

Nach wie vor drücken Sie die Eingabetaste und das Active Directory wird in einen Webserver umgewandelt.

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

Ein weiterer häufiger Trick ist die Verwendung des CGI-Servers (Common Gateway Interface) in Python für CGI-Skripts in Python oder Perl. Wenn Sie also das python3-Äquivalent des Befehls "python -m CGIHTTPServer" für CGI ausführen müssen, ist dies wie folgt:

python3 -m http.server --cgi

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

python -m http.server --cgi

In beiden Fällen benötigen Sie das Flag –cgi, um den CGI-HTTP-Server in Python 3 zu starten.

Ich erhalte die Fehlermeldung "/ usr / bin / python: Kein Modul mit dem Namen 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, wird höchstwahrscheinlich Python 3 nicht ausgeführt, oder Sie verwenden den falschen Befehl für python3 (dh python vs python3, abhängig davon, 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 unter Mac OS installiert ist, obwohl Benutzer das aktualisierte Python 3.x manuell auf dem Mac installieren müssen, wobei gleichzeitig das Original beibehalten wird Python 2.x-Release-Version. Normalerweise wird dies mit Homebrew erreicht.

Ändern Sie die Syntax wie oben beschrieben, oder versuchen Sie es mit dem Befehl "python -m SimpleHTTPServer" in Python 2 und früher, wenn Sie eine frühere Python-Version verwenden.

Natürlich sind die einfachen Python-Webserver nicht für Produktionsumgebungen gedacht, und sie eignen sich am besten für ein schnelles Scratchpad oder eine Testumgebung. Wenn Sie einen öffentlich zugänglichen oder allgemein robusteren Webserver ausführen möchten, sollten Sie Apache oder Nginx verwenden. Die Konfiguration dieser Server auf einem Mac erfordert jedoch einige Einstellungen. 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 mit uns in den Kommentaren unten!

Top