Définition
Le gestionnaire d'application Python de cPanel vous permettra d'installer une application Python avec les versions 2.7, 3.3, 3.4 ,3.5,3.6 ou 3.7
Il vous offre une interface utilisateur conviviale qui vous aidera à vous familiariser plus rapidement avec Python
Procédure
Python est un langage de programmation informatique très populaire et est aujourd'hui l'un des langages utilisés pour créer et déployer des sites web ou encore des applications en ligne.
Les formules d'hébergements web cPanel chez LWS supportent l'utilisation de Python dans l'environnement d'hébergement web mutualisé. Vous pouvez sélectionner la version Python de votre choix et l'intégrer au service web existant grâce à Phusion Passenger et les interfaces WSGI.
Pour mettre à disposition à nos clients un environnement stable, robuste et sécurisé, nous intégrons vos applications Python avec le service web Apache grâce à l'outil Phusion Passenger.
Nous ne mettons pas en place un reverse proxy, et les applications Python ne peuvent pas s'exécuter en standalone avec son propre serveur web. Votre application Python n'écoutera sur aucun port, celui-ci communiquera exclusivement en WSGI avec le service Passenger. Si vous utilisez un framework, renseignez-vous de sa compatibilité avec Phusion Passenger et les interfaces WSGI.
Depuis votre panneau de contrôle cPanel, retrouvez l'icône Setup Python App dans la rubrique Logiciel.
Dans la page qui s'ensuit, cliquer sur le bouton « Create Application » pour ajouter une nouvelle application.
Remplissez ensuite les champs conformément aux besoins de votre application :
Cliquez ensuite sur le bouton « Create » une fois que votre application a été paramétrée.
Si votre application startup file n'existe pas encore, l'outil va créer immédiatement ce fichier avec un contenu à titre d'exemple. Cet exemple affichera « It works! » sur toutes les requêtes HTTP associés à celui-ci.
Voici le contenu de ce script d'exemple :
import os import sys sys.path.insert(0, os.path.dirname(__file__)) def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) message = 'It works!\n' version = 'Python %s\n' % sys.version.split()[0] response = '\n'.join([message, version]) return [response.encode()]
L'utilisation du terminal en ligne de commande est partie intégrante de l'écosystème Python. Pour accéder à l'environnement de votre application depuis le terminal, connectez-vous à celui-ci (depuis le terminal web cPanel ou depuis un client SSH) et copiez la commande indiquée pour entrer dans l'environnement de votre application :
Cette action activera automatiquement le bon environnement virtuel pour votre application, incluant ainsi la bonne version de Python et PIP, ainsi que les dépendances installées dans l'environnement.
Vous noterez que si votre application Python se trouve dans votre dossier public_html, alors tous les sous-dossiers seront couverts par l'application. Ce comportement peut être modifié, notamment si vous avez, par exemple, un sous-dossier dans votre public_html rattaché à un autre nom de domaine ou un autre sous-domaine.
Pour cela, ajouter ceci dans le fichier .htaccess du dossier auquel vous ne voulez pas que votre application Python s'exécute :
PassengerEnabled off
Ceci désactivera alors Phusion Passenger qui est le connecteur entre votre application Python et votre serveur web. Notez que ceci affectera également tous les sous-dossiers.
Pour déboguer une application Python, vous pouvez consulter le log d'erreur Apache. Le fichier log d'erreurs Apache contient :
Si vous avez défini manuellement la valeur PassengerLogFile dans le fichier .htaccess de votre site, la sortie STDOUT et STDERR ainsi que les erreurs liées à Passenger sont envoyés dans ce fichier au lieu du fichier log Apache.
Vous pouvez aussi mettre la valeur PassengerFriendlyErrorPages sur on dans votre fichier .htaccess pour afficher directement sur le navigateur web les erreurs liés au démarrage de votre application Python.
Pour aller plus loin
Vous noterez que si votre application Python se trouve dans votre dossier public_html, alors tous les sous-dossiers seront couverts par l'application. Ce comportement peut être modifié, notamment si vous avez, par exemple, un sous-dossier dans votre public_html rattaché à un autre nom de domaine ou un autre sous-domaine.
Pour cela, ajouter ceci dans le fichier .htaccess du dossier auquel vous ne voulez pas que votre application Python s'exécute :
PassengerEnabled off
Ceci désactivera alors Phusion Passenger qui est le connecteur entre votre application Python et votre serveur web. Notez que ceci affectera également tous les sous-dossiers.