Solução de problemas da atualização do Python 3.12 - Amazon Braket

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas da atualização do Python 3.12

Data de vigência: 21 de janeiro de 2026

Visão geral do

A partir de 21 de janeiro de 2026, o Amazon Braket atualiza o tempo de execução do Python de 3.10 para 3.12 para todas as instâncias de notebook e imagens de contêiner gerenciadas (Base, CUDA-Q e). TensorFlow PyTorch Este guia fornece soluções para problemas comuns de compatibilidade.

Mensagens de erro comuns

Erro de incompatibilidade de versão do SDK Python

Erro:

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

Causa: O SDK do Braket detectou que seu notebook está executando o Python 3.10, mas o contêiner Hybrid Job está executando o Python 3.12.

Solução: atualize seu notebook para o Python 3.12 ou fixe-o nos contêineres do Python 3.10.

Erro de serialização do Cloudpickle

Erro:

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

Causa: se a validação do SDK for ignorada, o cloudpickle não conseguirá serializar o código entre o Python 3.10 e 3.12 devido a uma alteração do construtor no Python 3.12. CodeType

Solução: garanta que seu notebook e contêiner usem a mesma versão do Python.

Notebooks gerenciados com suporte

Se você estiver executando uma instância do Braket Notebook no Python 3.10 e enviando trabalhos híbridos, encontrará erros de incompatibilidade de versão porque os contêineres de trabalhos agora usam o Python 3.12 por padrão.

Você tem duas opções:

  1. [Recomendado] Crie uma nova instância de notebook com Python 3.12 - consulte Braket Notebook Instance Upgrade

  2. Fixe em contêineres Python 3.10 - consulte Hybrid Job Decorator

Decorador de empregos híbrido

Para usar o @hybrid_job decorador, a versão do Python do seu ambiente deve corresponder à versão do Python do contêiner.

Opção 1: usar contêineres Python 3.12 (recomendado)

Se você atualizou seu ambiente para o Python 3.12, ele usa a tag mais recente (comportamento padrão).

Opção 2: usar contêineres Python 3.10

Se você precisar permanecer no Python 3.10, especifique explicitamente o parâmetro no image_uri decorador. @hybrid_job

Tags de contêiner do Python 3.10:

Nome da imagem

Tag

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

O exemplo a seguir refere-se à região us-west-2.

Imagem completa 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

Exemplo:

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
nota

Bring-Your-Own-Container (BYOC)

Se seu Dockerfile usa uma imagem gerenciada pelo Braket com a tag mais recente, a reconstrução após 21 de janeiro de 2026 extrairá imagens compatíveis com Python 3.12.

Para permanecer nas imagens gerenciadas do Braket compatíveis com Python 3.10, atualize seu Dockerfile:

Antes (obtém o Python 3.12 após a atualização):

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

Depois (permanece no 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

Atualização da instância do Braket Notebook

Siga estas etapas para atualizar para o Python 3.12:

Importante

Antes de excluir sua instância do notebook, verifique se você baixou todos os cadernos e arquivos que deseja manter. Esses dados não podem ser recuperados após a exclusão.

  1. Baixe todos os notebooks que você criou ou modificou em uma unidade local.

  2. Interrompa a instância do notebook.

  3. Exclua a instância de notebook.

  4. Crie uma nova instância de notebook com um nome diferente.

  5. Faça upload de seus cadernos para a nova instância.