Quel est l'équivalent de Python 3 python -m SimpleHTTPServer?
Quel est l'équivalent de Python 3 python -m SimpleHTTPServer?
Réponses:
De la documentation :
Le
SimpleHTTPServermodule a été fusionné danshttp.serverPython 3.0. L'outil 2to3 adaptera automatiquement les importations lors de la conversion de vos sources en 3.0.
Ainsi, votre commande est python -m http.server, ou selon votre installation, elle peut être:
python3 -m http.server
python3 -m http.server --helppour tous les arguments et options.
python -m http.servertravaillé pour moi. J'ai du retirer le3
pythonet Python3 en tant que python3mais certains préfèrent installer Python3 simplement en tant que python.
pythonpar défaut. Mais, la question est pour python3:)
L'équivalent est:
python3 -m http.server
python3 -m http.server 8080si vous devez vous connecter à un port. En savoir plus à la fin de la section: docs.python.org/3/library/…
python3 -m http.server --helppour plus de détails.
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
En plus de la réponse de Petr, si vous souhaitez vous lier à une interface spécifique au lieu de toutes les interfaces, vous pouvez utiliser -bou --bindmarquer.
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.
Dans l'un de mes projets, je lance des tests contre Python 2 et 3. Pour cela, j'ai écrit un petit script qui démarre un serveur local indépendamment:
$ 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 ...
Comme 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 des environnements conda , à cause de cela je peux utiliser pythonau lieu d' python3utiliser Python 3.
python -m CGIHTTPServerestpython3 -m http.server --cgi.