Czym jest odpowiednik Python 3 python -m SimpleHTTPServer
?
Czym jest odpowiednik Python 3 python -m SimpleHTTPServer
?
Odpowiedzi:
Z dokumentów :
SimpleHTTPServer
Moduł został połączyły sięhttp.server
w Pythonie 3.0. Narzędzie 2to3 automatycznie dostosuje importowanie podczas konwersji źródeł do wersji 3.0.
Tak więc twoje polecenie jest python -m http.server
, lub w zależności od instalacji, może być:
python3 -m http.server
python3 -m http.server --help
wszystkie argumenty i opcje.
python -m http.server
pracował dla mnie. Musiałem usunąć3
python
a Python3 jako, python3
ale niektórzy wolą instalować Python3 po prostu jako python
.
python
domyślnie. Ale pytanie dotyczy python3
:)
Odpowiednikiem jest:
python3 -m http.server
python3 -m http.server 8080
jeśli musisz połączyć się z portem. Czytaj więcej na końcu tego rozdziału: docs.python.org/3/library/…
python3 -m http.server --help
szczegóły.
Korzystanie z narzędzia 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
Oprócz odpowiedzi Petr'a, jeśli chcesz powiązać z określonym interfejsem zamiast ze wszystkimi interfejsami, których możesz użyć -b
lub --bind
oznaczyć.
python -m http.server 8000 --bind 127.0.0.1
Powyższy fragment powinien załatwić sprawę. 8000 to numer portu. 80 jest używany jako standardowy port do komunikacji HTTP.
W jednym z moich projektów przeprowadzam testy na Pythonie 2 i 3. W tym celu napisałem mały skrypt, który uruchamia serwer lokalny niezależnie:
$ 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 ...
Jako 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 ...
Pamiętaj, że kontroluję moją wersję Pythona za pomocą środowisk conda , dlatego mogę używać python
zamiast python3
Python 3.
python -m CGIHTTPServer
jestpython3 -m http.server --cgi
.