Frage Was ist das Python 3-Äquivalent von "python -m SimpleHTTPServer"?


Was ist das Python 3-Äquivalent? python -m SimpleHTTPServer?


763
2017-10-30 07:22


Ursprung


Antworten:


Von die Dokumente:

Das SimpleHTTPServer Modul wurde in verschmolzen http.server in Python 3.0. Das 2to3-Tool passt Importe automatisch an, wenn Sie Ihre Quellen in 3.0 konvertieren.

Also, dein Befehl ist python3 -m http.server.


1099
2017-10-30 07:28



Das Äquivalent ist:

python3 -m http.server

166
2017-10-30 07:27



Verwenden von 2to3-Dienstprogramm.

$ 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

107
2018-06-27 19:16



Wenn Sie einen anderen Port verwenden müssen:

python -m http.server 8080

42
2017-07-18 17:13



Zusätzlich zu Petrs Antwort können Sie, wenn Sie an eine bestimmte Schnittstelle statt an alle Schnittstellen binden möchten, die Option -b / - bind flag verwenden.

python -m http.server 8000 --bind 127.0.0.1

Das obige Snippet sollte den Trick machen. 8000 ist die Portnummer. 80 wird als Standard-Port für die HTTP-Kommunikation verwendet.


25
2018-05-30 15:47



In einem meiner Projekte habe ich Tests gegen Python 2 und 3 durchgeführt. Dazu habe ich ein kleines Skript geschrieben, das unabhängig einen lokalen Server 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 kontrolliere Conda-Umgebungendeswegen kann ich benutzen python Anstatt von python3 für die Verwendung von Python 3.


3
2017-10-05 22:32



Wenn Sie wählen müssen, welches Verzeichnis root für die Webseite ist, zB ./dist und Port 9000: dann benutzen Sie:

für v3

pushd ./dist; python -m http.server 9000; popd

für 2.*

pushd ./dist; python -m SimpleHTTPServer 9000; popd

0
2018-02-20 17:32



Der Befehl python -m SimpleHTTPServer ist für Linux. Verwenden Sie Befehl python -m http.server 7777 für Windows


-19
2018-04-14 20:51