Python 3.12 のアップグレードのトラブルシューティング - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Python 3.12 のアップグレードのトラブルシューティング

発効日: 2026 年 1 月 21 日

概要:

2026 年 1 月 21 日以降、Amazon Braket はすべてのノートブックインスタンスマネージドコンテナイメージ (Base、CUDA-Q、TensorFlow、PyTorch) の Python ランタイムを 3.10 から 3.12 にアップグレードします。このガイドでは、一般的な互換性の問題の解決策を示します。

一般的なエラーメッセージ

SDK Python バージョンの不一致エラー

エラー:

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

原因: Braket SDK はノートブックが Python 3.10 を実行していることを検出しましたが、ハイブリッドジョブコンテナは Python 3.12 を実行しています。

解決策: ノートブックを Python 3.12 にアップグレードするか、Python 3.10 コンテナに固定しますオプション 2: Python 3.10 コンテナを使用する

Cloudpickle シリアル化エラー

エラー:

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

原因: SDK 検証をバイパスすると、Python 3.12 の CodeType コンストラクタの変更により、cloudpickle は Python 3.10 と 3.12 の間でコードをシリアル化できません。

解決策: ノートブックとコンテナが同じ Python バージョンを使用していることを確認します。

Braket マネージドノートブック

Python 3.10 で Braket ノートブックインスタンスを実行し、ハイブリッドジョブを送信すると、ジョブコンテナがデフォルトで Python 3.12 を使用するようになったため、バージョン不一致エラーが発生します。

これには 2 つのオプションがあります。

  1. [推奨] Python 3.12 で新しいノートブックインスタンスを作成する - Braket Notebook Instance Upgrade を参照してください。

  2. Python 3.10 コンテナへのピン留め - 「ハイブリッドジョブデコレータ」を参照してください。

ハイブリッドジョブデコレータ

@hybrid_job デコレータを使用するには、環境の Python バージョンがコンテナの Python バージョンと一致する必要があります。

オプション 1: Python 3.12 コンテナを使用する (推奨)

環境を Python 3.12 にアップグレードした場合、最新のタグ (デフォルトの動作) が使用されます。

オプション 2: Python 3.10 コンテナを使用する

Python 3.10 を維持する必要がある場合は、デ@hybrid_jobコレータで image_uriパラメータを明示的に指定します。

Python 3.10 コンテナタグ:

イメージ名

タグ

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

次の例は、us-west-2 リージョンの場合です。

フルイメージ 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

:

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
注記

Bring-Your-Own-Container (BYOC)

Dockerfile が最新のタグを持つ Braket マネージドイメージを使用している場合、2026 年 1 月 21 日以降に再構築すると、Python 3.12 でサポートされているイメージがプルされます。

Python 3.10 でサポートされている Braket マネージドイメージを維持するには、Dockerfile を更新します。

Before (アップグレード後に Python 3.12 を取得):

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

After (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

Braket ノートブックインスタンスのアップグレード

Python 3.12 にアップグレードするには、次の手順に従います。

重要

ノートブックインスタンスを削除する前に、保持するすべてのノートブックとファイルをダウンロードしていることを確認してください。削除後にこのデータを復元することはできません。

  1. 作成または変更したノートブックをローカルドライブにダウンロードします。

  2. ノートブックインスタンスを停止します。

  3. ノートブックインスタンスを削除します。

  4. 別の名前で新しいノートブックインスタンスを作成します。

  5. ノートブックを新しいインスタンスにアップロードします。