Problembehandlung beim Python 3.12-Upgrade - Amazon Braket

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 und verwalteten Container-Images (Base, CUDA-Q und). TensorFlow PyTorch Dieses Handbuch bietet Lösungen für häufig auftretende Kompatibilitätsprobleme.

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:

  1. [Empfohlen] Erstellen Sie eine neue Notebook-Instanz mit Python 3.12 — siehe Braket Notebook Instance Upgrade

  2. 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

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.

  1. Laden Sie alle Notizbücher, die Sie erstellt oder geändert haben, auf ein lokales Laufwerk herunter.

  2. Stoppen Sie Ihre Notebook-Instanz.

  3. Löschen Sie Ihre Notebook-Instanz.

  4. Erstellen Sie eine neue Notebook-Instanz mit einem anderen Namen.

  5. Laden Sie Ihre Notizbücher auf die neue Instanz hoch.