Cette question trahit probablement une idée fausse, mais je suis curieux de savoir quel est le "Tomcat" du monde Python.
Toute mon expérience de programmation Web est en Java (ou Groovy) donc je pense en Java termes. Et quand je pense à faire une application web de base, Je pense à écrire des servlets, à créer un fichier WAR et à le déployer dans Tomcat ou un autre conteneur de servlets.
En Python, supposons que j'aie écrit du code capable de répondre aux requêtes HTTP, qu'en ferais-je? Comment pourrais-je le déployer?
Plus précisément: Quel est le conteneur le plus couramment utilisé en Python? Et existe-t-il un équivalent d'un fichier WAR, un emballage standard d'une application Web dans un fichier qui fonctionne dans les différents conteneurs?
Il existe différentes approches qui ont une chose en commun: elles communiquent généralement via WSGI avec leur "conteneur" (le serveur recevant les requêtes HTTP avant d'aller vers votre Python).
Il existe différents conteneurs:
quand je pense à créer une application web de base, je pense à écrire des servlets, à créer un fichier WAR et à le déployer dans Tomcat ou un autre conteneur de servlets.
C'est gentil, mais hors de propos. C'est juste un Java-isme, et ne s'applique pas très largement en dehors de Java.
En Python, supposons que j'aie écrit du code capable de répondre aux requêtes HTTP, qu'en ferais-je? Comment pourrais-je le déployer?
Ça dépend.
Quel est le conteneur le plus couramment utilisé en Python?
Il n'y en a pas.
Et existe-t-il un équivalent d'un fichier WAR, un emballage standard d'une application Web dans un fichier qui fonctionne dans les différents conteneurs?
Il n'y en a pas.
HTTP est un protocole pour produire une réponse à une demande. C'est tout. C'est vraiment une toute petite chose.
Vous disposez de scripts CGI qui peuvent répondre à une demande. La bibliothèque Python cgi
peut le faire. http://docs.python.org/library/cgi.html .
Ceci est relativement inefficace car la règle CGI simple est "déclencher un nouveau processus pour chaque demande". Il peut également être peu sûr si le script autorise des privilèges élevés ou des téléchargements mal planifiés.
Tu as le mod_wsgi
framework pour connecter Apache à Python. Cela peut se comporter comme CGI, ou il peut avoir un Python "démon" en cours d'exécution à la fin d'un canal nommé.
La norme WSGI définit un format de traitement des demandes et des réponses qui est très pratique et très extensible. La plupart des frameworks - d'une manière ou d'une autre - sont compatibles WSGI.
Enfin, il existe des cadres plus complets qui incluent des définitions de classe pour les demandes et les réponses, l'analyse d'URL, l'authentification, l'autorisation, etc., etc.
Voici une liste: http://wiki.python.org/moin/WebFrameworks
Peut-être que "uwsgi" vous aidera. Voici le lien: http://projects.unbit.it/uwsgi/
Il existe de nombreux serveurs Web disponibles pour Python. Certains des serveurs Web comme CherryPy ont été écrits en Python lui-même. La partie la plus cool de la réponse est que le serveur Tomcat lui-même prend en charge les applications basées sur Python.
Pour plus de détails, consultez ce site: https://wiki.python.org/moin/WebServers