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
Dans cette section :
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 :
-
[Recommandé] Créez une nouvelle instance de bloc-notes avec Python 3.12 - voir Mise à niveau de l'instance de bloc-notes de Braket
-
É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
-
Les conteneurs Python 3.10 resteront disponibles mais ne recevront pas de mises à jour.
-
Consultez la section Définition de l'environnement pour votre script d'algorithme.
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.
-
Téléchargez tous les blocs-notes que vous avez créés ou modifiés sur un disque local.
-
Arrêtez votre instance de bloc-notes.
-
Supprimez votre instance de bloc-notes.
-
Créez une nouvelle instance de bloc-notes avec un nom différent.
-
Téléchargez vos blocs-notes sur la nouvelle instance.