Résolution des problèmes liés à la mise à niveau de Python 3.12 - Amazon Braket

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.

Résolution des problèmes liés à la mise à niveau de Python 3.12

Date d'entrée en vigueur : 21 janvier 2026

Présentation de

À compter du 21 janvier 2026, Amazon Braket met à niveau le runtime Python de la version 3.10 à la version 3.12 pour toutes les instances Notebook et les images de conteneurs gérés (Base, TensorFlow CUDA-Q et). PyTorch Ce guide propose des solutions aux problèmes de compatibilité courants.

Messages d'erreur courants

Erreur de non-concordance entre les versions Python du SDK

Erreur :

RuntimeError: Python version must match between local environment and container. Client is running Python 3.10 locally, but container uses Python 3.12.

Cause : Le SDK Braket a détecté que votre bloc-notes exécutait Python 3.10 alors que le conteneur Hybrid Job exécutait Python 3.12.

Solution : mettez à niveau votre bloc-notes vers Python 3.12 ou insérez-le dans des conteneurs Python 3.10.

Erreur de sérialisation Cloudpickle

Erreur :

TypeError: code() argument 13 must be str, not int

Cause : Si la validation du SDK est ignorée, cloudpickle ne parvient pas à sérialiser le code entre Python 3.10 et 3.12 en raison d'un CodeType changement de constructeur dans Python 3.12.

Solution : assurez-vous que votre bloc-notes et votre conteneur utilisent la même version de Python.

Ordinateurs portables gérés par Braket

Si vous exécutez une instance Braket Notebook sur Python 3.10 et que vous soumettez des tâches hybrides, vous rencontrerez des erreurs d'incompatibilité de version car les conteneurs de tâches utilisent désormais Python 3.12 par défaut.

Vous avez deux options :

  1. [Recommandé] Créez une nouvelle instance de bloc-notes avec Python 3.12 - voir Mise à niveau de l'instance de bloc-notes de Braket

  2. Épinglez des conteneurs Python 3.10 - voir Hybrid Job Decorator

Job Decorator Hybrid

Pour utiliser le @hybrid_job décorateur, la version Python de votre environnement doit correspondre à la version Python du conteneur.

Option 1 : utiliser des conteneurs Python 3.12 (recommandé)

Si vous avez mis à niveau votre environnement vers Python 3.12, il utilise la dernière balise (comportement par défaut).

Option 2 : utiliser des conteneurs Python 3.10

Si vous devez rester sur Python 3.10, spécifiez explicitement le image_uri paramètre dans le @hybrid_job décorateur.

Balises de conteneur Python 3.10 :

Nom de l’image

Balise

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

L'exemple suivant concerne la région us-west-2.

Image complète 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

Exemple :

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
Note

Bring-Your-Own-Container (BYOC)

Si votre Dockerfile utilise une image gérée par Braket avec la dernière balise, la reconstruction après le 21 janvier 2026 extraira les images compatibles avec Python 3.12.

Pour continuer à utiliser les images gérées par Braket compatibles avec Python 3.10, mettez à jour votre Dockerfile :

Avant (obtient Python 3.12 après la mise à niveau) :

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

Après (reste sur 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

Mise à niveau de l'instance Braket Notebook

Procédez comme suit pour effectuer la mise à niveau vers Python 3.12 :

Important

Avant de supprimer votre instance de bloc-notes, assurez-vous d'avoir téléchargé tous les blocs-notes et fichiers que vous souhaitez conserver. Ces données ne peuvent pas être récupérées après leur suppression.

  1. Téléchargez tous les blocs-notes que vous avez créés ou modifiés sur un disque local.

  2. Arrêtez votre instance de bloc-notes.

  3. Supprimez votre instance de bloc-notes.

  4. Créez une nouvelle instance de bloc-notes avec un nom différent.

  5. Téléchargez vos blocs-notes sur la nouvelle instance.