¿Cuál es el equivalente de Python 3 python -m SimpleHTTPServer?
¿Cuál es el equivalente de Python 3 python -m SimpleHTTPServer?
Respuestas:
De los documentos :
El
SimpleHTTPServermódulo se ha fusionadohttp.serveren Python 3.0. La herramienta 2to3 adaptará automáticamente las importaciones al convertir sus fuentes a 3.0.
Entonces, su comando es python -m http.server, o dependiendo de su instalación, puede ser:
python3 -m http.server
python3 -m http.server --helppara todos los argumentos y opciones.
python -m http.servertrabajó para mi. Tuve que quitar el3
pythony Python3 como, python3pero algunos prefieren instalar Python3 simplemente como python.
pythonpredeterminada. Pero, la pregunta es para python3:)
El equivalente es:
python3 -m http.server
python3 -m http.server 8080si necesitas unirte a un puerto. Lea más al final de la sección: docs.python.org/3/library/…
python3 -m http.server --helppara más detalles.
Usando la utilidad 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
Además de la respuesta de Petr, si desea vincularse a una interfaz específica en lugar de todas las interfaces que puede usar -bo --bindmarcar.
python -m http.server 8000 --bind 127.0.0.1
El fragmento anterior debería hacer el truco. 8000 es el número de puerto. 80 se utiliza como puerto estándar para las comunicaciones HTTP.
En uno de mis proyectos ejecuto pruebas contra Python 2 y 3. Para eso escribí un pequeño script que inicia un servidor local de forma independiente:
$ 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 ...
Como un 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 ...
Tenga en cuenta que controlo mi versión de Python a través de entornos conda , por eso puedo usar en pythonlugar de python3usar Python 3.
python -m CGIHTTPServerespython3 -m http.server --cgi.