

AWS App Runner wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie App Runner verwenden möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden der Python-Plattform von
<a name="service-source-code-python"></a>

**Wichtig**  
App Runner wird die Unterstützung für **Python 3.7** und **Python 3.8** am 1. Dezember 2025 beenden. Empfehlungen und weitere Informationen finden Sie unter[Ende der Unterstützung für verwaltete Runtime-Versionen](service-source-code.md#service-source-code.managed-platforms.eos).

Die AWS App Runner Python-Plattform bietet verwaltete Laufzeiten. Jede Laufzeit macht es einfach, Container mit Webanwendungen zu erstellen und auszuführen, die auf einer Python-Version basieren. Wenn Sie eine Python-Laufzeit verwenden, startet App Runner mit einem verwalteten Python-Runtime-Image. Dieses Image basiert auf dem [Amazon Linux Docker-Image](https://hub.docker.com/_/amazonlinux) und enthält das Runtime-Paket für eine Version von Python sowie einige Tools und beliebte Abhängigkeitspakete. App Runner verwendet dieses verwaltete Runtime-Image als Basis-Image und fügt Ihren Anwendungscode hinzu, um ein Docker-Image zu erstellen. Anschließend wird dieses Image bereitgestellt, um Ihren Webservice in einem Container auszuführen.

 Sie geben eine Laufzeit für Ihren App Runner-Dienst an, wenn Sie [einen Dienst mithilfe der App Runner-Konsole oder des [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API-Vorgangs erstellen](manage-create.md). Sie können auch eine Laufzeit als Teil Ihres Quellcodes angeben. Verwenden Sie das `runtime` Schlüsselwort in einer [App Runner-Konfigurationsdatei](config-file.md), die Sie in Ihr Code-Repository aufnehmen. Die Benennungskonvention einer verwalteten Laufzeit lautet*<language-name><major-version>*. 

Gültige Namen und Versionen der Python-Laufzeit finden Sie unter[Informationen zur Python-Runtime-Version](service-source-code-python-releases.md).

App Runner aktualisiert die Laufzeit für Ihren Dienst bei jeder Bereitstellung oder jedem Service-Update auf die neueste Version. Wenn Ihre Anwendung eine bestimmte Version einer verwalteten Laufzeit benötigt, können Sie diese mithilfe des `runtime-version` Schlüsselworts in der [App Runner-Konfigurationsdatei](config-file.md) angeben. Sie können sich auf eine beliebige Versionsebene beschränken, einschließlich einer Haupt- oder Nebenversion. App Runner aktualisiert die Laufzeit Ihres Dienstes nur auf niedrigerer Ebene.

Versionssyntax für Python-Laufzeiten: `major[.minor[.patch]]`

Beispiel: `3.8.5`

Die folgenden Beispiele demonstrieren das Sperren von Versionen:
+ `3.8`— Sperren Sie die Haupt- und Nebenversionen. App Runner aktualisiert nur Patch-Versionen.
+ `3.8.5`— Auf eine bestimmte Patch-Version festlegen. App Runner aktualisiert Ihre Runtime-Version nicht.

**Topics**
+ [Python-Laufzeitkonfiguration](#service-source-code-python.config)
+ [Callouts für bestimmte Runtime-Versionen](#service-source-code-python.callouts)
+ [Python-Laufzeitbeispiele](#service-source-code-python.examples)
+ [Informationen zur Python-Runtime-Version](service-source-code-python-releases.md)

## Python-Laufzeitkonfiguration
<a name="service-source-code-python.config"></a>

Wenn Sie sich für eine verwaltete Laufzeit entscheiden, müssen Sie mindestens auch Befehle zum Erstellen und Ausführen konfigurieren. Sie konfigurieren sie bei der [Erstellung](manage-create.md) oder [Aktualisierung](manage-configure.md) Ihres App Runner-Dienstes. Sie können dies mit einer der folgenden Methoden tun:
+ **Verwenden der App Runner-Konsole** — Geben Sie die Befehle im Abschnitt **Build konfigurieren** des Erstellungsprozesses oder der Registerkarte Konfiguration an.
+ **Verwenden der App Runner-API** — Rufen Sie den [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API-Vorgang [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)oder auf. Geben Sie die Befehle mithilfe der `StartCommand` Elemente `BuildCommand` und des [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)Datentyps an.
+ **Mithilfe einer [Konfigurationsdatei](config-file.md)** — Geben Sie einen oder mehrere Build-Befehle in bis zu drei Build-Phasen sowie einen einzelnen Run-Befehl an, der zum Starten Ihrer Anwendung dient. Es gibt zusätzliche optionale Konfigurationseinstellungen.

Die Bereitstellung einer Konfigurationsdatei ist optional. Wenn Sie einen App Runner-Dienst mithilfe der Konsole oder der API erstellen, geben Sie an, ob App Runner Ihre Konfigurationseinstellungen direkt bei der Erstellung oder aus einer Konfigurationsdatei bezieht.

## Callouts für bestimmte Runtime-Versionen
<a name="service-source-code-python.callouts"></a>

**Anmerkung**  
App Runner führt jetzt einen aktualisierten Build-Prozess für Anwendungen aus, die auf den folgenden Laufzeitversionen basieren: Python 3.11, Node.js 22 und Node.js 18. Wenn Ihre Anwendung auf einer dieser Runtime-Versionen ausgeführt wird, finden Sie weitere Informationen [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail) zum überarbeiteten Build-Prozess unter. Anwendungen, die alle anderen Runtime-Versionen verwenden, sind nicht betroffen und sie verwenden weiterhin den ursprünglichen Build-Prozess. 

### Python 3.11 (überarbeiteter App Runner-Build)
<a name="service-source-code-python.callouts.python311"></a>

Verwenden Sie die folgenden Einstellungen in der Datei *apprunner.yaml* für die verwaltete Python 3.11-Laufzeit.
+ Stellen Sie den Schlüssel im oberen Bereich auf `runtime` ein `python311`   
**Example**  

  ```
  runtime: python311
  ```
+ Verwenden Sie `pip3` statt von`pip`, um Abhängigkeiten zu installieren.
+ Verwenden Sie den `python3` Interpreter anstelle von. `python`
+ Führen Sie das `pip3` Installationsprogramm als `pre-run` Befehl aus. Python installiert Abhängigkeiten außerhalb des `/app` Verzeichnisses. Da App Runner den überarbeiteten App Runner-Build für Python 3.11 ausführt, geht alles verloren, was außerhalb des `/app` Verzeichnisses über Befehle im Build-Abschnitt der `apprunner.yaml` Datei installiert wurde. Weitere Informationen finden Sie unter [Der überarbeitete App Runner-Build](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 -
  ```

Weitere Informationen finden Sie auch im [Beispiel einer erweiterten Konfigurationsdatei für Python 3.11 weiter unten](#service-source-code-python.examples.extended-v2) in diesem Thema.

## Python-Laufzeitbeispiele
<a name="service-source-code-python.examples"></a>

Die folgenden Beispiele zeigen App Runner-Konfigurationsdateien zum Erstellen und Ausführen eines Python-Dienstes. Das letzte Beispiel ist der Quellcode für eine vollständige Python-Anwendung, die Sie in einem Python-Laufzeitdienst bereitstellen können.

**Anmerkung**  
Die Runtime-Version, die in diesen Beispielen verwendet wird, ist *3.7.7* und*3.11*. Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Python-Laufzeitversion finden Sie unter[Informationen zur Python-Runtime-Version](service-source-code-python-releases.md).

### Minimale Python-Konfigurationsdatei
<a name="service-source-code-python.examples.minimal"></a>

Dieses Beispiel zeigt eine minimale Konfigurationsdatei, die Sie mit einer von Python verwalteten Laufzeit verwenden können. Informationen zu den Annahmen, die App Runner mit einer minimalen Konfigurationsdatei trifft, finden Sie unter[Beispiele für Konfigurationsdateien](config-file-examples.md#config-file-examples.managed).

Python 3.11 verwendet die `python3` Befehle `pip3` und. Weitere Informationen finden Sie im [Beispiel einer erweiterten Konfigurationsdatei für Python 3.11 weiter unten](#service-source-code-python.examples.extended-v2) in diesem Thema.

**Example apprunner.yaml**  

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

### Erweiterte Python-Konfigurationsdatei
<a name="service-source-code-python.examples.extended"></a>

Dieses Beispiel zeigt die Verwendung aller Konfigurationsschlüssel mit einer von Python verwalteten Laufzeit.

**Anmerkung**  
Die in diesen Beispielen verwendete Laufzeitversion ist*3.7.7*. Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Python-Laufzeitversion finden Sie unter[Informationen zur Python-Runtime-Version](service-source-code-python-releases.md).  
Python 3.11 verwendet die `python3` Befehle `pip3` und. Weitere Informationen finden Sie im Beispiel einer erweiterten Konfigurationsdatei für Python 3.11 weiter unten in diesem Thema.

**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"
```

### Erweiterte Python-Konfigurationsdatei — Python 3.11 (verwendet überarbeiteten Build)
<a name="service-source-code-python.examples.extended-v2"></a>

Dieses Beispiel zeigt die Verwendung aller Konfigurationsschlüssel mit einer verwalteten Python 3.11-Laufzeit in der`apprunner.yaml`. Dieses Beispiel enthält einen `pre-run` Abschnitt, da diese Version von Python den überarbeiteten App Runner-Build verwendet.

Der `pre-run` Parameter wird nur vom überarbeiteten App Runner-Build unterstützt. Fügen Sie diesen Parameter nicht in Ihre Konfigurationsdatei ein, wenn Ihre Anwendung Runtime-Versionen verwendet, die vom ursprünglichen App Runner-Build unterstützt werden. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).

**Anmerkung**  
Die Runtime-Version, die in diesen Beispielen verwendet wird, ist*3.11*. Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Python-Laufzeitversion finden Sie unter[Informationen zur Python-Runtime-Version](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"
```

### Vollständige Python-Anwendungsquelle
<a name="service-source-code-python.examples.end2end"></a>

Dieses Beispiel zeigt den Quellcode für eine vollständige Python-Anwendung, die Sie in einem Python-Runtime-Service bereitstellen können.

**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
```

# Informationen zur Python-Runtime-Version
<a name="service-source-code-python-releases"></a>

**Wichtig**  
App Runner wird die Unterstützung für **Python 3.7** und **Python 3.8** am 1. Dezember 2025 beenden. Empfehlungen und weitere Informationen finden Sie unter[Ende der Unterstützung für verwaltete Runtime-Versionen](service-source-code.md#service-source-code.managed-platforms.eos).

In diesem Thema werden die vollständigen Informationen zu den Python-Laufzeitversionen aufgeführt, die App Runner unterstützt.


**Unterstützte Runtime-Versionen — überarbeiteter App Runner-Build**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/apprunner/latest/dg/service-source-code-python-releases.html)

**Hinweise**  
**Python 3.11** — Wir haben spezifische Empfehlungen für die Build-Konfiguration von Diensten, die die verwaltete Python 3.11-Runtime verwenden. Weitere Informationen finden Sie [Callouts für bestimmte Runtime-Versionen](service-source-code-python.md#service-source-code-python.callouts) im Thema *Python-Plattform*.
App Runner bietet einen überarbeiteten Build-Prozess für bestimmte Hauptlaufzeiten, die in jüngerer Zeit veröffentlicht wurden. Aus diesem Grund finden Sie in bestimmten Abschnitten dieses Dokuments Verweise auf den *überarbeiteten App Runner-Build* *und den ursprünglichen App Runner-Build*. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).


**Unterstützte Runtime-Versionen — originaler App Runner-Build**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/apprunner/latest/dg/service-source-code-python-releases.html)

**Anmerkung**  
App Runner bietet einen überarbeiteten Build-Prozess für bestimmte Hauptlaufzeiten, die in jüngerer Zeit veröffentlicht wurden. Aus diesem Grund finden Sie in bestimmten Abschnitten dieses Dokuments Verweise auf den *überarbeiteten App Runner-Build* *und den ursprünglichen App Runner-Build*. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).