Question Quel est l'équivalent Python 3 de "python -m SimpleHTTPServer"


Quel est l'équivalent de Python 3 python -m SimpleHTTPServer?


763
2017-10-30 07:22


origine


Réponses:


De les docs:

le SimpleHTTPServer le module a été fusionné en http.server dans Python 3.0. L'outil 2to3 adaptera automatiquement les importations lors de la conversion de vos sources vers la version 3.0.

Donc, votre commande est python3 -m http.server.


1099
2017-10-30 07:28



L'équivalent est:

python3 -m http.server

166
2017-10-30 07:27



Utilisation de l'utilitaire 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 vous devez utiliser un port différent, utilisez:

python -m http.server 8080

42
2017-07-18 17:13



En plus de la réponse de Petr, si vous voulez vous lier à une interface spécifique au lieu de toutes les interfaces, vous pouvez utiliser l'option -b / - bind.

python -m http.server 8000 --bind 127.0.0.1

L'extrait ci-dessus devrait faire l'affaire. 8000 est le numéro de port. 80 est utilisé comme port standard pour les communications HTTP.


25
2018-05-30 15:47



Dans l'un de mes projets, je lance des tests sur Python 2 et 3. Pour cela, j'ai écrit un petit script qui démarre un serveur local de manière indépendante:

$ 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 ...

En tant qu'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 ...

Veuillez noter que je contrôle ma version Python via environnements de condaà cause de ça je peux utiliser python au lieu de python3 pour utiliser Python 3.


3
2017-10-05 22:32



Si vous devez choisir quel répertoire est root pour le site web, par exemple ./dist et le port 9000: alors utilisez:

pour v3

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

pour 2.*

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

0
2018-02-20 17:32



La commande python -m SimpleHTTPServer est pour Linux. Utiliser la commande python -m http.server 7777 Pour les fenêtres


-19
2018-04-14 20:51