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.
Problembehandlung beim Python 3.12-Upgrade
Datum des Inkrafttretens: 21. Januar 2026
-Übersicht
Mit Wirkung zum 21. Januar 2026 aktualisiert Amazon Braket die Python-Laufzeit von 3.10 auf 3.12 für alle Notebook-Instances
In diesem Abschnitt:
Allgemeine Fehlermeldungen
Fehler: SDK-Python-Version stimmt nicht überein
Fehler:
RuntimeError: Python version must match between local environment and container. Client is running Python 3.10 locally, but container uses Python 3.12.
Ursache: Das Braket-SDK hat erkannt, dass auf Ihrem Notebook Python 3.10 ausgeführt wird, der Hybrid-Job-Container jedoch Python 3.12 ausführt.
Lösung: Führen Sie entweder ein Upgrade Ihres Notebooks auf Python 3.12 durch oder pinnen Sie es auf Python 3.10-Container.
Cloudpickle-Serialisierungsfehler
Fehler:
TypeError: code() argument 13 must be str, not int
Ursache: Wenn die SDK-Validierung umgangen wird, kann Cloudpickle aufgrund einer Konstruktoränderung in Python 3.12 den Code zwischen Python 3.10 und 3.12 nicht serialisieren. CodeType
Lösung: Stellen Sie sicher, dass Ihr Notebook und Ihr Container dieselbe Python-Version verwenden.
Von Braket verwaltete Notizbücher
Wenn Sie eine Braket-Notebook-Instanz auf Python 3.10 ausführen und Hybrid-Jobs einreichen, werden Sie auf Versionskonflikte stoßen, da die Job-Container jetzt standardmäßig Python 3.12 verwenden.
Sie haben zwei Optionen:
-
[Empfohlen] Erstellen Sie eine neue Notebook-Instanz mit Python 3.12 — siehe Braket Notebook Instance Upgrade
-
An Python 3.10-Container anheften — siehe Hybrid Job Decorator
Hybrider Jobdekorateur
Um den @hybrid_job Decorator verwenden zu können, muss die Python-Version Ihrer Umgebung mit der Python-Version des Containers übereinstimmen.
Option 1: Python 3.12-Container verwenden (empfohlen)
Wenn Sie Ihre Umgebung auf Python 3.12 aktualisiert haben, verwendet sie das neueste Tag (Standardverhalten).
Option 2: Verwenden Sie Python 3.10-Container
Wenn Sie bei Python 3.10 bleiben müssen, geben Sie den image_uri Parameter explizit im @hybrid_job Decorator an.
Python 3.10-Container-Tags:
|
Name des Images |
Markierung |
|---|---|
|
Base |
1.0-cpu-py310-ubuntu22.04 |
|
CUDA-Q |
0,12,0-cpu-py310-0,12.0 |
|
PyTorch |
2.2.0-gpu-py310-cu121-ubuntu20.04 |
|
TensorFlow |
2.14.1-gpu-py310-cu118-ubuntu20.04 |
Das folgende Beispiel bezieht sich auf die Region us-west-2.
Vollständiges Bild: URIs
Base: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04 CUDA-Q: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:0.12.0-cpu-py310-0.12.0 PyTorch: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:2.2.0-gpu-py310-cu121-ubuntu20.04 TensorFlow: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:2.14.1-gpu-py310-cu118-ubuntu20.04
Beispiel:
from braket.jobs.hybrid_job import hybrid_job from braket.devices import Devices device_arn = Devices.Amazon.SV1 @hybrid_job( device=device_arn, image_uri="292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04" ) def my_job(): pass
Anmerkung
-
Python 3.10-Container bleiben verfügbar, erhalten aber keine Updates.
-
Siehe Definieren Sie die Umgebung für Ihr Algorithmus-Skript.
Bring-Your-Own-Container (BYOC)
Wenn Ihr Dockerfile ein von Braket verwaltetes Image mit dem neuesten Tag verwendet, werden bei einem Neustart nach dem 21. Januar 2026 von Python 3.12 unterstützte Images abgerufen.
Um auf den von Python 3.10 unterstützten Braket-verwalteten Images zu bleiben, aktualisieren Sie Ihr Dockerfile:
Vorher (erhält Python 3.12 nach dem Upgrade):
FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:latest
Danach (bleibt auf Python 3.10):
FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:0.12.0-cpu-py310-0.12.0 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:2.2.0-gpu-py310-cu121-ubuntu20.04 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:2.14.1-gpu-py310-cu118-ubuntu20.04
Aktualisierung der Braket-Notebook-Instanz
Gehen Sie wie folgt vor, um auf Python 3.12 zu aktualisieren:
Wichtig
Stellen Sie vor dem Löschen Ihrer Notebook-Instanz sicher, dass Sie alle Notizbücher und Dateien heruntergeladen haben, die Sie behalten möchten. Diese Daten können nach dem Löschen nicht wiederhergestellt werden.
-
Laden Sie alle Notizbücher, die Sie erstellt oder geändert haben, auf ein lokales Laufwerk herunter.
-
Stoppen Sie Ihre Notebook-Instanz.
-
Löschen Sie Ihre Notebook-Instanz.
-
Erstellen Sie eine neue Notebook-Instanz mit einem anderen Namen.
-
Laden Sie Ihre Notizbücher auf die neue Instanz hoch.