Was ist das Python 3-Äquivalent python -m SimpleHTTPServer
?
Was ist das Python 3-Äquivalent python -m SimpleHTTPServer
?
Antworten:
Aus den Dokumenten :
Das
SimpleHTTPServer
Modul wurdehttp.server
in Python 3.0 zusammengeführt. Das 2to3-Tool passt Importe automatisch an, wenn Sie Ihre Quellen in 3.0 konvertieren.
Ihr Befehl lautet also python -m http.server
oder abhängig von Ihrer Installation:
python3 -m http.server
python3 -m http.server --help
alle Argumente und Optionen.
python -m http.server
arbeitete für mich. Ich musste den3
python
und Python3 als verfügbar, python3
aber einige bevorzugen es, Python3 einfach als zu installieren python
.
python
standardmäßig installiert . Aber die Frage ist für python3
:)
Das Äquivalent ist:
python3 -m http.server
python3 -m http.server 8080
wenn Sie an einen Port binden müssen. Lesen Sie mehr am Ende des Abschnitts: docs.python.org/3/library/…
python3 -m http.server --help
Informationen finden Sie unter.
Verwenden des Dienstprogramms 2to3.
$ cat try.py
import SimpleHTTPServer
$ 2to3 try.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored try.py
--- try.py (original)
+++ try.py (refactored)
@@ -1 +1 @@
-import SimpleHTTPServer
+import http.server
RefactoringTool: Files that need to be modified:
RefactoringTool: try.py
Zusätzlich zu Petrs Antwort, wenn Sie anstelle aller Schnittstellen, die Sie verwenden -b
oder --bind
kennzeichnen können, an eine bestimmte Schnittstelle binden möchten .
python -m http.server 8000 --bind 127.0.0.1
Das obige Snippet sollte den Trick machen. 8000 ist die Portnummer. 80 wird als Standardport für die HTTP-Kommunikation verwendet.
In einem meiner Projekte führe ich Tests gegen Python 2 und 3 durch. Dafür habe ich ein kleines Skript geschrieben, das einen lokalen Server unabhängig startet:
$ python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')
Serving HTTP on 0.0.0.0 port 8000 ...
Als Alias:
$ alias serve="python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')"
$ serve
Serving HTTP on 0.0.0.0 port 8000 ...
Bitte beachten Sie, dass ich meine Python-Version über Conda-Umgebungen steuere . Aus diesem Grund kann ich Python 3 python
anstelle von python3
Python 3 verwenden.
python -m CGIHTTPServer
istpython3 -m http.server --cgi
.