Qual è l'equivalente di Python 3 python -m SimpleHTTPServer
?
Qual è l'equivalente di Python 3 python -m SimpleHTTPServer
?
Risposte:
Dai documenti :
Il
SimpleHTTPServer
modulo è stato unito inhttp.server
Python 3.0. Lo strumento 2to3 adatta automaticamente le importazioni quando converti le tue fonti in 3.0.
Quindi, il tuo comando è python -m http.server
o, a seconda della tua installazione, può essere:
python3 -m http.server
python3 -m http.server --help
per tutti gli argomenti e le opzioni.
python -m http.server
ha funzionato per me. Ho dovuto rimuovere il3
python
e Python3 come python3
ma alcuni preferiscono installare Python3 semplicemente come python
.
python
predefinito. Ma la domanda è per python3
:)
L'equivalente è:
python3 -m http.server
python3 -m http.server 8080
se devi associarti a una porta. Maggiori informazioni alla fine della sezione: docs.python.org/3/library/…
python3 -m http.server --help
per i dettagli.
Utilizzo dell'utilità 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
Oltre alla risposta di Petr, se si desidera associare un'interfaccia specifica anziché tutte le interfacce che è possibile utilizzare -b
o --bind
contrassegnare.
python -m http.server 8000 --bind 127.0.0.1
Lo snippet di cui sopra dovrebbe fare il trucco. 8000 è il numero di porta. 80 viene utilizzato come porta standard per le comunicazioni HTTP.
In uno dei miei progetti eseguo test su Python 2 e 3. Per questo ho scritto un piccolo script che avvia un server locale in modo indipendente:
$ 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 ...
Come 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 ...
Nota che controllo la mia versione di Python tramite ambienti conda , per questo motivo posso usare python
invece di python3
usare Python 3.
python -m CGIHTTPServer
èpython3 -m http.server --cgi
.