Comment démarrer un serveur Web simple dans Python 3 sur Mac

Image illustrant : Comment démarrer un serveur Web simple dans Python 3 sur Mac
  1. Accueil
  2. Tutoriels
  3. Mac
  4. Comment démarrer un serveur Web simple dans Python 3 sur Mac

Regardez comment démarrer un serveur Web simple avec Python 3 en utilisant le nouvel équivalent Python 3.0+ de la commande python -m SimpleHTTPServer.

Si vous êtes un utilisateur Python, vous connaissez peut-être déjà l’astuce pratique qui vous permet de créer instantanément un serveur Web simple à l’aide d’une chaîne de commande simple entrée dans la ligne de commande de Mac OS. Mais si vous êtes un utilisateur Mac Python qui a installé ou mis à jour Python 3, vous constaterez que la chaîne de commande traditionnelle des versions précédentes de Python ne fonctionne pas pour lancer le serveur Web dans les nouvelles versions de Python 3.x +.

Ne vous inquiétez pas, l'astuce simple du serveur Web Python fonctionne toujours dans Python 3 pour Mac (et pour Linux et Windows aussi bien sûr, mais nous couvrons évidemment MacOS), c'est que la syntaxe de la commande est juste légèrement différente. Nous allons vous montrer comment démarrer un serveur Web simple avec Python 3 en utilisant le nouvel équivalent Python 3.0+ de la commande python -m SimpleHTTPServer.

Comment démarrer un serveur HTTP Web dans Python 3.0+

Nous supposons que vous avez déjà installé ou mis à jour Python 3.0+ sur Mac, cette variante de la commande nécessite Python 3.0 ou une version plus récente.

À partir de la ligne de commande, entrez exactement la syntaxe suivante *:

python -m http.server

OU (selon la façon dont Python 3.x est installé et nommé):

python3 -m http.server

Appuyez sur retour et Python 3 démarrera instantanément un simple serveur HTTP à partir du répertoire dans lequel la commande a été exécutée.

Le serveur http.server en Python 3 s'exécutera dans le terminal, s'il n'y a pas de fichier Web dans le répertoire, l'index du répertoire lui-même sera affiché.

Vous pouvez le tester immédiatement en ouvrant l'URL suivante dans n'importe quel navigateur Web sur l'ordinateur:

http://0.0.0.0:8000

Toutes les activités du serveur Web, comme l'accès à des fichiers individuels, des dossiers, des répertoires, etc., seront affichées dans la fenêtre du terminal Python actif en direct, un peu comme les journaux Web sur un serveur Apache ou Nginx.

* Remarque importante: si python et python3 sont installés simultanément, vous devrez peut-être modifier légèrement la syntaxe pour référencer python3 et python2 ou une autre version de python. Cela dépendra de la façon dont vous avez mis à jour Python 3 sur Mac, mais un exemple courant serait d'utiliser la commande ‘python3’ à la place:

python3 -m http.server

Comme précédemment, appuyez sur retour et le répertoire actif sera transformé en serveur Web.

Quel est l'équivalent Python3 de python -m CGIHTTPServer?

Une autre astuce courante consiste à utiliser le serveur CGI (Common Gateway Interface) en Python pour les scripts CGI en python ou perl. Ainsi, si vous devez exécuter l'équivalent python3 de la commande «python -m CGIHTTPServer» pour CGI, ce serait la suivante:

python3 -m http.server -cgi

Alternativement, si Python 3 est installé et nommé python, la commande serait simplement:

python -m http.server --cgi

Dans tous les cas, vous aurez besoin de l'indicateur –cgi pour démarrer le serveur HTTP CGI dans Python 3.

Je reçois une erreur disant «/usr/bin/python: aucun module nommé http» maintenant quoi?

Si vous voyez une erreur «/usr/bin/python: aucun module nommé http» lorsque vous essayez d'exécuter la chaîne de commande python -m http.server, vous n'exécutez probablement pas Python 3 ou vous utilisez la mauvaise commande pour python3 (c'est-à-dire python vs python3, selon le nom de la version et la façon dont elle a été installée ou mise à jour sur le Mac). Il est également possible que Python ne soit pas installé du tout sur l'ordinateur, bien que cela soit moins probable pour les Mac car Python2 est installé par défaut sur Mac OS, bien que les utilisateurs doivent installer manuellement la mise à jour Python 3.x sur le Mac, qui préserve simultanément l'original Version de sortie de Python 2.x. En règle générale, cela est réalisé avec Homebrew.

Modifiez la syntaxe comme indiqué ci-dessus, ou si vous utilisez une version antérieure de Python, essayez la commande «python -m SimpleHTTPServer» de Python 2 et versions antérieures.

Bien sûr, les serveurs Web simples en python ne sont pas destinés aux environnements de production et ils sont vraiment tout simplement les meilleurs pour un bloc-notes rapide ou un environnement de test. Si vous souhaitez exécuter un serveur Web ouvert au public ou simplement plus robuste en général, vous voudriez utiliser quelque chose comme Apache ou Nginx, bien que les configurer individuellement sur un Mac nécessite une certaine configuration. Une option plus simple pour un environnement de serveur Web complet sur Mac est d'utiliser MAMP, ce qui rend la configuration et le démarrage d'un environnement Apache, MySQL, PHP complet sur Mac aussi simple que possible.

Connaissez-vous d'autres conseils ou astuces Python intéressants? Connaissez-vous d'autres chaînes de commande python utiles pour démarrer des serveurs http ou autre? Partagez avec nous dans les commentaires ci-dessous!

Partager Tutoriel

Mots clés dans : Comment démarrer un serveur Web simple dans Python 3 sur Mac

Python 3 serveur web

Autres Tutoriels sur (Python 3, serveur, web) ...