Pregunta ¿Cuál es el equivalente de Python 3 de "python -m SimpleHTTPServer"


¿Cuál es el equivalente de Python 3 de python -m SimpleHTTPServer?


763
2017-10-30 07:22


origen


Respuestas:


De los documentos:

los SimpleHTTPServer módulo se ha fusionado en http.server en Python 3.0. La herramienta 2to3 adaptará automáticamente las importaciones al convertir sus fuentes a 3.0.

Entonces, tu comando es python3 -m http.server.


1099
2017-10-30 07:28



El equivalente es:

python3 -m http.server

166
2017-10-30 07:27



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

107
2018-06-27 19:16



Si debe usar un puerto diferente, use:

python -m http.server 8080

42
2017-07-18 17:13



Además de la respuesta de Petr, si desea vincularse a una interfaz específica en lugar de todas las interfaces, puede usar -b / - bind flag.

python -m http.server 8000 --bind 127.0.0.1

El fragmento de arriba debería hacer el truco. 8000 es el número de puerto. 80 se usa como el puerto estándar para las comunicaciones HTTP.


25
2018-05-30 15:47



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 de conda, por eso puedo usar python en lugar de python3 para usar Python 3.


3
2017-10-05 22:32



si tiene que elegir qué directorio es el directorio raíz del sitio web, por ejemplo, ./dist y el puerto 9000: a continuación, utilice:

para v3

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

para 2.*

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

0
2018-02-20 17:32



El comando python -m SimpleHTTPServer es para Linux. Usar comando python -m http.server 7777 para ventanas


-19
2018-04-14 20:51