

AWS App Runner ne sera plus ouvert aux nouveaux clients à compter du 30 avril 2026. Si vous souhaitez utiliser App Runner, inscrivez-vous avant cette date. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS App Runner la section Modification de la disponibilité](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de la plateforme Python
<a name="service-source-code-python"></a>

**Important**  
App Runner mettra fin au support de **Python 3.7** et **Python 3.8** le 1er décembre 2025. Pour des recommandations et de plus amples informations, consultez[Fin du support pour les versions d'exécution gérées](service-source-code.md#service-source-code.managed-platforms.eos).

La plateforme AWS App Runner Python fournit des environnements d'exécution gérés. Chaque environnement d'exécution facilite la création et l'exécution de conteneurs avec des applications Web basées sur une version de Python. Lorsque vous utilisez un environnement d'exécution Python, App Runner démarre avec une image d'exécution Python gérée. Cette image est basée sur l'[image Docker d'Amazon Linux](https://hub.docker.com/_/amazonlinux) et contient le package d'exécution d'une version de Python ainsi que certains outils et packages de dépendances populaires. App Runner utilise cette image d'exécution gérée comme image de base et ajoute le code de votre application pour créer une image Docker. Il déploie ensuite cette image pour exécuter votre service Web dans un conteneur.

 Vous spécifiez un environnement d'exécution pour votre service App Runner lorsque vous [créez un service](manage-create.md) à l'aide de la console App Runner ou de l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. Vous pouvez également spécifier un environnement d'exécution dans le cadre de votre code source. Utilisez le `runtime` mot clé dans un [fichier de configuration App Runner](config-file.md) que vous incluez dans votre référentiel de code. La convention de dénomination d'un environnement d'exécution géré est*<language-name><major-version>*. 

Pour les noms et versions d'exécution Python valides, consultez[Informations sur la version de Python Runtime](service-source-code-python-releases.md).

App Runner met à jour le moteur d'exécution de votre service avec la dernière version à chaque déploiement ou mise à jour de service. Si votre application nécessite une version spécifique d'un environnement d'exécution géré, vous pouvez le spécifier à l'aide du `runtime-version` mot clé dans le [fichier de configuration d'App Runner](config-file.md). Vous pouvez verrouiller n'importe quel niveau de version, y compris une version majeure ou mineure. App Runner apporte uniquement des mises à jour de niveau inférieur à l'environnement d'exécution de votre service.

Syntaxe de version pour les environnements d'exécution Python : `major[.minor[.patch]]`

Par exemple : `3.8.5`

Les exemples suivants illustrent le verrouillage des versions :
+ `3.8`— Verrouillez les versions majeures et mineures. App Runner met à jour uniquement les versions de correctif.
+ `3.8.5`— Verrouillez vers une version de correctif spécifique. App Runner ne met pas à jour votre version d'exécution.

**Topics**
+ [Configuration de l'environnement d'exécution Python](#service-source-code-python.config)
+ [Des légendes pour des versions d'exécution spécifiques](#service-source-code-python.callouts)
+ [Exemples d'exécution en Python](#service-source-code-python.examples)
+ [Informations sur la version de Python Runtime](service-source-code-python-releases.md)

## Configuration de l'environnement d'exécution Python
<a name="service-source-code-python.config"></a>

Lorsque vous choisissez un environnement d'exécution géré, vous devez également configurer, au minimum, créer et exécuter des commandes. Vous les configurez lors de [la création](manage-create.md) ou de la [mise à jour](manage-configure.md) de votre service App Runner. Pour ce faire, vous pouvez utiliser l'une des méthodes suivantes :
+ **Utilisation de la console App Runner** : spécifiez les commandes dans la section **Configurer le build** de l'onglet Processus de création ou configuration.
+ **Utilisation de l'API App Runner** : appelez l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)ou [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Spécifiez les commandes à l'aide des `StartCommand` membres `BuildCommand` et du type de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)données.
+ **Utilisation d'un [fichier de configuration](config-file.md)** : spécifiez une ou plusieurs commandes de génération en trois phases de génération au maximum, ainsi qu'une seule commande d'exécution servant à démarrer votre application. Il existe d'autres paramètres de configuration facultatifs.

La fourniture d'un fichier de configuration est facultative. Lorsque vous créez un service App Runner à l'aide de la console ou de l'API, vous spécifiez si App Runner obtient vos paramètres de configuration directement lors de sa création ou à partir d'un fichier de configuration.

## Des légendes pour des versions d'exécution spécifiques
<a name="service-source-code-python.callouts"></a>

**Note**  
App Runner exécute désormais un processus de génération mis à jour pour les applications basé sur les versions d'exécution suivantes : Python 3.11, Node.js 22 et Node.js 18. Si votre application s'exécute sur l'une de ces versions d'exécution, consultez [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail) pour plus d'informations sur le processus de génération révisé. Les applications qui utilisent toutes les autres versions d'exécution ne sont pas affectées et continuent à utiliser le processus de génération d'origine. 

### Python 3.11 (version révisée d'App Runner)
<a name="service-source-code-python.callouts.python311"></a>

Utilisez les paramètres suivants dans le fichier *apprunner.yaml pour* le runtime géré de Python 3.11.
+ Réglez la `runtime` clé dans la section supérieure sur `python311`   
**Example**  

  ```
  runtime: python311
  ```
+ Utilisez le `pip3` au lieu de `pip` pour installer les dépendances.
+ Utilisez l'`python3`interpréteur au lieu de`python`.
+ Exécutez le `pip3` programme d'installation sous forme de `pre-run` commande. Python installe les dépendances en dehors du `/app` répertoire. Comme App Runner exécute la version révisée d'App Runner pour Python 3.11, tout ce qui est installé en dehors du `/app` répertoire par le biais de commandes dans la section Build du `apprunner.yaml` fichier sera perdu. Pour de plus amples informations, veuillez consulter [La version révisée d'App Runner](service-source-code.md#service-source-code.build-detail.v2).  
**Example**  

  ```
  run:
    runtime-version: 3.11
    pre-run:  
      - pip3 install pipenv
      - pipenv install
      - python3 copy-global-files.py
    command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  ```

Pour plus d'informations, consultez également l'[exemple d'un fichier de configuration étendu pour Python 3.11](#service-source-code-python.examples.extended-v2) plus loin dans cette rubrique.

## Exemples d'exécution en Python
<a name="service-source-code-python.examples"></a>

Les exemples suivants montrent les fichiers de configuration App Runner permettant de créer et d'exécuter un service Python. Le dernier exemple est le code source d'une application Python complète que vous pouvez déployer sur un service d'exécution Python.

**Note**  
La version d'exécution utilisée dans ces exemples est *3.7.7* et*3.11*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution de Python prise en charge, consultez[Informations sur la version de Python Runtime](service-source-code-python-releases.md).

### Fichier de configuration Python minimal
<a name="service-source-code-python.examples.minimal"></a>

Cet exemple montre un fichier de configuration minimal que vous pouvez utiliser avec un environnement d'exécution géré en Python. Pour les hypothèses formulées par App Runner avec un fichier de configuration minimal, consultez[Exemples de fichiers de configuration](config-file-examples.md#config-file-examples.managed).

Python 3.11 utilise les `python3` commandes `pip3` et. Pour plus d'informations, consultez l'[exemple d'un fichier de configuration étendu pour Python 3.11](#service-source-code-python.examples.extended-v2) plus loin dans cette rubrique.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install pipenv
      - pipenv install 
run: 
  command: python app.py
```

### Fichier de configuration Python étendu
<a name="service-source-code-python.examples.extended"></a>

Cet exemple montre l'utilisation de toutes les clés de configuration avec un environnement d'exécution géré par Python.

**Note**  
La version d'exécution utilisée dans ces exemples est*3.7.7*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution de Python prise en charge, consultez[Informations sur la version de Python Runtime](service-source-code-python-releases.md).  
Python 3.11 utilise les `python3` commandes `pip3` et. Pour plus d'informations, consultez l'exemple d'un fichier de configuration étendu pour Python 3.11 plus loin dans cette rubrique.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip install pipenv
      - pipenv install
    post-build:
      - python manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.7.7
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### Fichier de configuration Python étendu — Python 3.11 (utilise une version révisée)
<a name="service-source-code-python.examples.extended-v2"></a>

Cet exemple montre l'utilisation de toutes les clés de configuration avec un environnement d'exécution géré Python 3.11 dans le`apprunner.yaml`. Cet exemple inclut une `pre-run` section, car cette version de Python utilise la version révisée d'App Runner.

Le `pre-run` paramètre n'est pris en charge que par la version révisée d'App Runner. N'insérez pas ce paramètre dans votre fichier de configuration si votre application utilise des versions d'exécution prises en charge par la version originale d'App Runner. Pour de plus amples informations, veuillez consulter [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).

**Note**  
La version d'exécution utilisée dans ces exemples est*3.11*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution de Python prise en charge, consultez[Informations sur la version de Python Runtime](service-source-code-python-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: python311
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip3 install pipenv
      - pipenv install
    post-build:
      - python3 manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.11
  pre-run:  
    - pip3 install pipenv
    - pipenv install
    - python3 copy-global-files.py
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### Source complète de l'application Python
<a name="service-source-code-python.examples.end2end"></a>

Cet exemple montre le code source d'une application Python complète que vous pouvez déployer sur un service d'exécution Python.

**Example requirements.txt**  

```
pyramid==2.0
```

**Example server.py**  

```
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os

def hello_world(request):
    name = os.environ.get('NAME')
    if name == None or len(name) == 0:
        name = "world"
    message = "Hello, " + name + "!\n"
    return Response(message)

if __name__ == '__main__':
    port = int(os.environ.get("PORT"))
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', port, app)
    server.serve_forever()
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3
build:
  commands:
    build:
      - pip install -r requirements.txt
run:
  command: python server.py
```

# Informations sur la version de Python Runtime
<a name="service-source-code-python-releases"></a>

**Important**  
App Runner mettra fin au support de **Python 3.7** et **Python 3.8** le 1er décembre 2025. Pour des recommandations et de plus amples informations, consultez[Fin du support pour les versions d'exécution gérées](service-source-code.md#service-source-code.managed-platforms.eos).

Cette rubrique répertorie tous les détails des versions d'exécution de Python prises en charge par App Runner.


**Versions d'exécution prises en charge — version révisée d'App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/service-source-code-python-releases.html)

**Remarques**  
**Python 3.11** — Nous avons des recommandations spécifiques pour la configuration de build des services qui utilisent le runtime géré Python 3.11. Pour plus d'informations, consultez la rubrique consacrée [Des légendes pour des versions d'exécution spécifiques](service-source-code-python.md#service-source-code-python.callouts) à la *plateforme Python*.
App Runner fournit un processus de compilation révisé pour des environnements d'exécution majeurs spécifiques qui ont été publiés plus récemment. Pour cette raison, vous verrez des références à la *version révisée d'App Runner et à la version* *originale d'App Runner* dans certaines sections de ce document. Pour plus d'informations, consultez [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).


**Versions d'exécution prises en charge : version originale d'App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/service-source-code-python-releases.html)

**Note**  
App Runner fournit un processus de compilation révisé pour des environnements d'exécution majeurs spécifiques qui ont été publiés plus récemment. Pour cette raison, vous verrez des références à la *version révisée d'App Runner et à la version* *originale d'App Runner* dans certaines sections de ce document. Pour plus d'informations, consultez [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).