Préparer les fichiers de configuration pour l'environnement d'exécution Python 3
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour pouvoir exécuter votre application dans l'environnement d'exécution Python 3 de l'environnement standard App Engine, vous devrez peut-être modifier certains des fichiers de configuration utilisés par App Engine :
app.yaml : ce fichier contient des informations sur le code de votre application, telles que l'environnement d'exécution et les gestionnaires d'application.
appengine_config.py L'environnement d'exécution Python 2 utilise ce fichier pour accéder aux bibliothèques tierces et fournir des valeurs pour les constantes et les "fonctions de hook".
L'environnement d'exécution Python 3 n'utilise pas ce fichier.
Mise à jour de app.yaml
Le comportement de certains champs de votre fichier de configuration app.yaml a été modifié. Supprimez tous les champs qui ne sont plus compatibles et mettez à jour les autres champs, comme décrit dans le tableau suivant.
Non applicables dans l'environnement d'exécution Python 3.
threadsafe
N'est plus compatible.
Toutes les applications sont supposées être "threadsafe". Si votre application n'est pas threadsafe, spécifiez un entrypoint en configurant un thread par nœud de calcul.
Par exemple, lorsque la classe d'instance F4 est utilisée : entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app
Si vous n'utilisez pas les anciens services groupés pour Python 3, utilisez Identity and Access Management (IAM) pour la gestion des utilisateurs.
handlers: script
Modifié
Dans l'environnement d'exécution Python 2, vous utilisez le champ script pour acheminer les requêtes entrantes vers le script de votre application.
Dans l'environnement d'exécution Python 3, vous devez utiliser un framework Web avec routage intégré à l'application (tel que Flask ou Django) au lieu du champ script.
Pour migrer votre fichier app.yaml vers l'environnement d'exécution Python 3, effectuez l'une des opérations suivantes, selon que le fichier contient ou non des gestionnaires d'éléments statiques et des gestionnaires de scripts :
Si votre fichier app.yaml contient des gestionnaires d'éléments statiques, effectuez l'une des opérations suivantes pour vous assurer que les requêtes de contenu dynamique sont acheminées vers le script de votre application :
Supprimez tous les champs script. Ajoutez ensuite un champ entrypoint pour démarrer un serveur Web qui exécute votre application. Les requêtes qui ne correspondent à aucun de vos gestionnaires d'éléments statiques sont dirigées vers le serveur Web que vous avez spécifié dans le champ entrypoint. Le serveur Web et le framework Web de votre application sont chargés d'acheminer la requête vers le script approprié.
Remplacez la valeur de tous les champs script par auto. App Engine exécute automatiquement votre application sur un serveur Web (à condition qu'elle respecte quelques conditions requises), et toutes les requêtes correspondant à un gestionnaire de script sont dirigées vers le serveur Web. Le serveur Web et le framework Web de votre application sont chargés d'acheminer la requête vers le script approprié.
Si votre fichier app.yamlne contient pas de gestionnaires d'éléments statiques, supprimez tous les champs script. Toutes les requêtes adressées à votre application sont dirigées vers le serveur Web de votre application, et le framework de votre application achemine la requête vers le script approprié. Vous pouvez éventuellement ajouter un champ entrypoint pour personnaliser le comportement de démarrage par défaut.
Si votre fichier app.yaml comporte les deux types de gestionnaires, vous pouvez toujours supprimer tous les gestionnaires de scripts marqués comme auto, en laissant les gestionnaires statiques ainsi que les gestionnaires auto nécessitant d'autres instructions, telles que le gestionnaire réservé aux administrateurs dans l'exemple ci-dessous.
Dans l'environnement standard App Engine, l'environnement d'exécution Python 2 utilise le fichier appengine_config.py.
Ce fichier est ignoré dans l'environnement d'exécution Python 3. Au lieu de cela, l'environnement d'exécution Python 3 utilise le fichier requirements.txt standard pour installer les dépendances, y compris les dépendances qui utilisent du code natif.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/03/06 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/03/06 (UTC)."],[[["The Python 3 runtime on App Engine standard environment requires updates to the `app.yaml` file, while the `appengine_config.py` file is no longer used."],["Several fields in the `app.yaml` file are no longer supported in Python 3, including `api_version`, `application_readable`, `builtins`, `threadsafe`, and `libraries`, each having different changes in requirements or methodology."],["If using the legacy bundled services, the `app_engine_apis` field in `app.yaml` must be set to `true`, and it enables the use of `handlers: login`; otherwise, Identity and Access Management (IAM) should be used."],["In Python 3, the `script` field in `app.yaml` handlers is replaced by in-app routing using a web framework like Flask or Django, and the `entrypoint` field is used to start the web server, which will handle the routing."],["In the Python 3 runtime, dependencies are installed using the standard `requirements.txt` file instead of the `appengine_config.py` file used in Python 2, meaning the latter file can be removed."]]],[]]