Qual é o equivalente do Python 3 python -m SimpleHTTPServer
?
Qual é o equivalente do Python 3 python -m SimpleHTTPServer
?
Respostas:
Dos documentos :
O
SimpleHTTPServer
módulo foi mescladohttp.server
no Python 3.0. A ferramenta 2to3 adaptará automaticamente as importações ao converter suas fontes em 3.0.
Portanto, seu comando é python -m http.server
ou, dependendo da sua instalação, pode ser:
python3 -m http.server
python3 -m http.server --help
todos os argumentos e opções.
python -m http.server
trabalhou para mim. Eu tive que remover o3
python
e Python3 como, python3
mas alguns preferem instalar o Python3 simplesmente como python
.
python
por padrão. Mas, a pergunta é para python3
:)
O equivalente é:
python3 -m http.server
python3 -m http.server 8080
se você precisar vincular a uma porta. Leia mais no final da seção: docs.python.org/3/library/…
python3 -m http.server --help
para obter detalhes.
Usando o utilitário 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
Além da resposta de Petr, se você deseja vincular a uma interface específica em vez de todas as interfaces, pode usar -b
ou --bind
sinalizar.
python -m http.server 8000 --bind 127.0.0.1
O trecho acima deve fazer o truque. 8000 é o número da porta. 80 é usado como a porta padrão para comunicações HTTP.
Em um dos meus projetos, eu executo testes no Python 2 e 3. Para isso, escrevi um pequeno script que inicia um servidor local de forma independente:
$ 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 um apelido:
$ 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 ...
Observe que eu controle minha versão do Python por meio de ambientes conda , por isso posso usar em python
vez de python3
usar o Python 3.
python -m CGIHTTPServer
épython3 -m http.server --cgi
.