Cómo iniciar un servidor web simple en Python 3 en Mac
Tabla de contenido:
Si es un usuario de Python, es posible que ya esté familiarizado con el práctico truco que le permite crear instantáneamente un servidor web simple usando una cadena de comando fácil ingresada en la línea de comando de Mac OS. Pero si es un usuario de Mac Python que instaló o actualizó Python 3, encontrará que la cadena de comando tradicional de las versiones anteriores de Python no funciona para iniciar el servidor web en el nuevo Python 3.x+ versiones.
No se preocupe, el simple truco Python del servidor web todavía funciona en Python 3 para Mac (y para Linux y Windows también, por supuesto, pero obviamente estamos cubriendo MacOS), es que la sintaxis del comando es solo un poco diferente. Le mostraremos cómo iniciar un servidor web simple con Python 3 usando el nuevo Python 3.0+ equivalente al comando python -m SimpleHTTPServer.
Cómo iniciar un servidor Web HTTP en Python 3.0+
Suponemos que ya instaló o actualizó Python 3.0+ en la Mac, esta variación del comando requiere Python 3.0 o posterior.
Desde la línea de comando, ingrese exactamente la siguiente sintaxis:
python -m http.servidor
O (dependiendo de cómo esté instalado y nombrado Python 3.x):
python3 -m http.servidor
Presione regresar y Python 3 iniciará instantáneamente un servidor HTTP simple desde el directorio en el que se ejecutó el comando.
El servidor http.en Python 3 se ejecutará en la terminal; si no hay ningún archivo web en el directorio, se mostrará el índice del directorio.
Puede probar esto inmediatamente abriendo la siguiente URL en cualquier navegador web en la computadora:
http://0.0.0.0:8000
Toda la actividad del servidor web, como acceder a archivos individuales, carpetas, directorios, etc., se mostrará en la ventana activa de la terminal de Python en vivo a medida que sucede, algo así como seguir los registros web en un servidor Apache o Nginx .
Nota importante: si tiene python y python3 instalados al mismo tiempo, es posible que deba cambiar la sintaxis ligeramente para hacer referencia a python3 y python2 u otra versión de python. Esto dependerá de cómo haya actualizado a Python 3 en la Mac, pero un ejemplo común sería usar el comando 'python3' en su lugar:
python3 -m http.servidor
Al igual que antes, presione regresar y el directorio activo se convertirá en un servidor web.
¿Cuál es el equivalente Python3 de python -m CGIHTTPServer?
Otro truco común es usar el servidor CGI (Common Gateway Interface) en Python para scripts CGI en python o perl. Por lo tanto, si necesita ejecutar el equivalente python3 del comando "python -m CGIHTTPServer" para CGI, sería el siguiente:
python3 -m http.servidor --cgi
Alternativamente, si Python 3 está instalado y se llama python, el comando simplemente sería:
python -m http.servidor --cgi
De cualquier manera, necesitará el indicador –cgi para iniciar el servidor CGI HTTP en Python 3.
Recibo un error que dice "/usr/bin/python: ningún módulo llamado http" ¿y ahora qué?
Si ve un error “/usr/bin/python: Ningún módulo llamado http” al intentar ejecutar la cadena de comando python -m http.server, lo más probable es que no esté ejecutando Python 3, o está utilizando el comando incorrecto para python3 (es decir, python vs python3, según el nombre de la versión y cómo se instaló o actualizó en la Mac). También es posible que Python no esté instalado en la computadora en absoluto, aunque eso es menos probable para Mac porque Python2 está instalado de forma predeterminada en Mac OS, aunque los usuarios deben instalar manualmente Python 3.x actualizado en la Mac, que al mismo tiempo conserva el original. Versión de lanzamiento de Python 2.x. Por lo general, esto se logra con Homebrew.
Cambie la sintaxis como se mencionó anteriormente, o si está usando una versión anterior de Python, pruebe el comando "python -m SimpleHTTPServer" de Python 2 y versiones anteriores.
Por supuesto, los servidores web simples de python no están diseñados para entornos de producción y, en realidad, son los mejores para un entorno de pruebas o un bloc de notas rápido. Si desea ejecutar un servidor web público o simplemente más robusto en general, querrá usar algo como Apache o Nginx, aunque configurarlos individualmente en una Mac requiere cierta configuración. Una opción más simple para un entorno de servidor web completo en la Mac es usar MAMP, lo que hace que configurar e iniciar un entorno completo de Apache, MySQL, PHP en la Mac sea tan simple como parece.
¿Conoces otros consejos o trucos interesantes sobre Python? ¿Conoce alguna otra cadena de comando de Python útil para iniciar servidores http o de otra manera? ¡Comparte con nosotros en los comentarios a continuación!