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
SimpleHTTPServer
module a été fusionné danshttp.server
Python 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 --help
pour tous les arguments et options.
python -m http.server
travaillé pour moi. J'ai du retirer le3
python
et Python3 en tant que python3
mais certains préfèrent installer Python3 simplement en tant que python
.
python
par défaut. Mais, la question est pour python3
:)
L'équivalent est:
python3 -m http.server
python3 -m http.server 8080
si vous devez vous connecter à un port. En savoir plus à la fin de la section: docs.python.org/3/library/…
python3 -m http.server --help
pour 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 -b
ou --bind
marquer.
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 python
au lieu d' python3
utiliser Python 3.
python -m CGIHTTPServer
estpython3 -m http.server --cgi
.