Como iniciar um servidor Web simples em Python 3 no Mac

Índice:

Anonim

Se você for um usuário Python, talvez já esteja familiarizado com o truque útil que permite criar instantaneamente um servidor Web simples usando uma string de comando fácil inserida na linha de comando do Mac OS. Mas se você é um usuário do Mac Python que instalou ou atualizou para o Python 3, verá que a string de comando tradicional das versões anteriores do Python não funciona para iniciar o servidor da Web no novo Python 3.x+ lançamentos.

Não se preocupe, o truque simples do Python do servidor web ainda funciona no Python 3 para Mac (e para Linux e Windows também, é claro, mas obviamente estamos cobrindo o MacOS), é que a sintaxe do comando é apenas ligeiramente diferente. Mostraremos a você como iniciar um servidor web simples com Python 3 usando o novo Python 3.0+ equivalente ao comando python -m SimpleHTTPServer.

Como iniciar um servidor Web HTTP em Python 3.0+

Estamos assumindo que você já instalou ou atualizou para o Python 3.0+ no Mac, esta variação do comando requer o Python 3.0 ou mais recente.

Na linha de comando, insira exatamente a seguinte sintaxe:

python -m http.server

OU (dependendo de como o Python 3.x é instalado e nomeado):

python3 -m http.server

Pressione return e o Python 3 iniciará instantaneamente um servidor HTTP simples a partir do diretório no qual o comando foi executado.

O http.server em Python 3 será executado no terminal, se não houver arquivo web no diretório, o próprio índice do diretório será mostrado.

Você pode testar isso imediatamente abrindo o seguinte URL em qualquer navegador da Web no computador:

http://0.0.0.0:8000

Todas as atividades do servidor web, como acessar arquivos individuais, pastas, diretórios, etc., serão mostradas na janela do terminal Python ativo ao vivo, como se fossem logs da web em um servidor Apache ou Nginx .

Nota importante: se você tiver python e python3 instalados simultaneamente, pode ser necessário alterar ligeiramente a sintaxe para referenciar python3 e python2 ou outra versão do python. Isso dependerá de como você atualizou para o Python 3 no Mac, mas um exemplo comum seria usar o comando ‘python3’:

python3 -m http.server

Assim como antes, pressione Enter e o diretório ativo será transformado em um servidor web.

Qual é o equivalente Python3 de python -m CGIHTTPServer?

Outro truque comum é usar o servidor CGI (Common Gateway Interface) em Python para scripts CGI em python ou perl. Portanto, se você precisar executar o equivalente python3 do comando “python -m CGIHTTPServer” para CGI, seria o seguinte:

python3 -m http.server --cgi

Alternativamente, se o Python 3 estiver instalado e nomeado como python, o comando seria simplesmente:

python -m http.server --cgi

De qualquer forma, você precisará do sinalizador –cgi para iniciar o servidor CGI HTTP no Python 3.

Recebo um erro dizendo “/usr/bin/python: Nenhum módulo chamado http” e agora?

Se você vir um erro “/usr/bin/python: No module named http” ao tentar executar a string de comando python -m http.server, provavelmente você não está executando o Python 3 ou você está usando o comando errado para python3 (ou seja, python vs python3, dependendo de como a versão é nomeada e como foi instalada ou atualizada no Mac). Também é possível que o Python não esteja instalado no computador, embora isso seja menos provável para Macs porque o Python2 é instalado por padrão no Mac OS, embora os usuários devam instalar manualmente o Python 3.x atualizado no Mac, que simultaneamente preserva o original Versão de lançamento do Python 2.x. Normalmente, isso é obtido com o Homebrew.

Altere a sintaxe conforme mencionado acima ou, se estiver usando uma versão anterior do Python, tente o comando “python -m SimpleHTTPServer” do Python 2 e anteriores.

É claro que os servidores da web simples python não são destinados a ambientes de produção e são realmente melhores para um rascunho rápido ou ambiente de teste. Se você deseja executar um servidor da Web voltado para o público ou apenas mais robusto em geral, convém usar algo como Apache ou Nginx, embora configurá-los individualmente em um Mac exija alguma configuração. Uma opção mais simples para um ambiente de servidor web completo no Mac é usar o MAMP, que torna a configuração e inicialização de um ambiente Apache, MySQL e PHP completo no Mac o mais simples possível.

Você conhece outras dicas ou truques interessantes sobre Python? Você conhece alguma outra string de comando python útil para iniciar servidores http ou de outra forma? Compartilhe conosco nos comentários abaixo!

Como iniciar um servidor Web simples em Python 3 no Mac