

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risoluzione dei problemi di aggiornamento a Python 3.12
<a name="braket-troubleshooting-python312"></a>

**Data di decorrenza:** 21 gennaio 2026

## Panoramica di
<a name="braket-troubleshooting-python312-overview"></a>

A partire dal 21 gennaio 2026, Amazon Braket aggiorna il runtime Python dalla versione 3.10 alla 3.12 [per tutte le](https://github.com/amazon-braket/amazon-braket-examples) [istanze di notebook e le immagini dei container gestiti (Base, CUDA-Q e](https://github.com/amazon-braket/amazon-braket-containers/tree/main)). TensorFlow PyTorch Questa guida fornisce soluzioni per problemi di compatibilità comuni.

**Topics**
+ [Panoramica di](#braket-troubleshooting-python312-overview)
+ [Messaggi di errore comuni](#braket-troubleshooting-python312-errors)
+ [Notebook gestiti da Braket](#braket-troubleshooting-python312-notebooks)
+ [Job Decorator ibrido](#braket-troubleshooting-python312-hybrid-job)
+ [Bring-Your-Own-Container (BYOC)](#braket-troubleshooting-python312-byoc)
+ [Aggiornamento dell'istanza di Braket Notebook](#braket-troubleshooting-python312-notebook-upgrade)

## Messaggi di errore comuni
<a name="braket-troubleshooting-python312-errors"></a>

### Errore di mancata corrispondenza della versione di Python dell'SDK
<a name="braket-troubleshooting-python312-version-mismatch"></a>

**Errore:**

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

**Causa:** l'SDK Braket ha rilevato che sul notebook è in esecuzione Python 3.10 ma nel contenitore Hybrid Job è in esecuzione Python 3.12.

**Soluzione:** [aggiorna il notebook a Python 3.12 o esegui il pin [ai contenitori Python](#braket-troubleshooting-python312-option2) 3.10](#braket-troubleshooting-python312-notebook-upgrade).

### Errore di serializzazione di Cloudpickle
<a name="braket-troubleshooting-python312-cloudpickle"></a>

**Errore:**

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

**Causa:** se la convalida dell'SDK viene ignorata, cloudpickle non riesce a serializzare il codice tra Python 3.10 e 3.12 a causa di una modifica del costruttore in Python 3.12. CodeType 

**Soluzione:** assicurati che il notebook e il contenitore utilizzino la stessa versione di Python.

## Notebook gestiti da Braket
<a name="braket-troubleshooting-python312-notebooks"></a>

Se stai eseguendo un'istanza di Braket Notebook su Python 3.10 e invii lavori ibridi, riscontrerai errori di mancata corrispondenza delle versioni perché i contenitori di lavoro ora utilizzano Python 3.12 per impostazione predefinita.

Sono disponibili due opzioni:

1. [Consigliato] Crea una nuova istanza Notebook con Python 3.12 - vedi Aggiornamento dell'istanza di [Braket](#braket-troubleshooting-python312-notebook-upgrade) Notebook

1. [Pin ai contenitori Python 3.10 - vedi Hybrid Job Decorator](#braket-troubleshooting-python312-hybrid-job)

## Job Decorator ibrido
<a name="braket-troubleshooting-python312-hybrid-job"></a>

Per usare il `@hybrid_job` decoratore, la versione Python del tuo ambiente deve corrispondere alla versione Python del contenitore.

### Opzione 1: usa i contenitori Python 3.12 (consigliato)
<a name="braket-troubleshooting-python312-option1"></a>

Se hai aggiornato il tuo ambiente a Python 3.12, utilizza il tag più recente (comportamento predefinito).

### Opzione 2: usa i contenitori Python 3.10
<a name="braket-troubleshooting-python312-option2"></a>

Se devi rimanere su Python 3.10, specifica esplicitamente il `image_uri` parametro in decorator. `@hybrid_job`

**Tag contenitore Python 3.10:**


|  Nome immagine  |  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  | 

L'esempio seguente si riferisce alla regione us-west-2.

**Immagine 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
```

**Esempio**:

```
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**  
I contenitori Python 3.10 rimarranno disponibili ma non riceveranno aggiornamenti.
Vedi [Definire l'ambiente per lo script dell'algoritmo](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-script-environment.html).

## Bring-Your-Own-Container (BYOC)
<a name="braket-troubleshooting-python312-byoc"></a>

Se il tuo Dockerfile utilizza un'immagine gestita da Braket con il tag più recente, la ricostruzione dopo il 21 gennaio 2026 estrarrà le immagini supportate da Python 3.12.

Per rimanere sulle immagini gestite da Braket supportate da Python 3.10, aggiorna il tuo Dockerfile:

**Before (ottiene Python 3.12 dopo l'aggiornamento):**

```
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
```

**Dopo (rimane su 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
```

## Aggiornamento dell'istanza di Braket Notebook
<a name="braket-troubleshooting-python312-notebook-upgrade"></a>

Segui questi passaggi per eseguire l'aggiornamento a Python 3.12:

**Importante**  
Prima di eliminare l'istanza del notebook, assicurati di aver scaricato tutti i taccuini e i file che desideri conservare. Questi dati non possono essere recuperati dopo l'eliminazione.

1. Scarica tutti i taccuini creati o modificati su un'unità locale.

1. Arresta l'istanza del notebook.

1. Elimina l'istanza del tuo notebook.

1. Crea una nuova istanza del notebook con un nome diverso.

1. Carica i tuoi taccuini nella nuova istanza.