🐷

Strands AgentがPythonエラーでインストールできない場合の対処法(macOS版)

に公開

Strands Agentを利用してアプリを開発しようとした時、唐突にPythonのバージョンエラーに遭遇することがあります。ありました。今回はどのようなケースでエラーに遭遇するかや、その解決方法をまとめました。

遭遇したエラー

今回発生したエラーは、Strands Agents SDKをインストールしようとした際に遭遇しました。ログを見ると、SDKが要求するバージョンを満たしていないことがわかります。

$ pip3 install strands-agents
ERROR: Could not find a version that satisfies the requirement strands-agents
ERROR: No matching distribution found for strands-agents

ここで迷ったのが「このPCで、Pythonを入れた覚えがない」ということです。

X Codeを入れていると、Pythonが知らず知らずのうちにインストールされている

色々調べてみたところ、Xcode Command Line Tools をインストールしていると、Python3が知らないうちにインストールされていることになるみたいでした。Git や各種開発ツールを使うために必要なため、macOSを利用している場合はほぼ間違いなくインストールしているのではないかと思います。

Homebrewで入れ直す

最も簡単な対策は、システム Python はそのままにして、開発用の Python を別途インストールすることです。

brew install python@3.12

Python の仮想環境を作成することで、プロジェクトごとに独立した環境を維持できます。

python3.12 -m venv venv
source venv/bin/activate

仮想環境が有効化されていることを確認してから、必要なパッケージをインストールします。

pip install strands-agents python-dotenv

なお、仮想環境を設定していない場合、pipコマンドでエラーが発生することもある様子です。

$ pip3.12 install strands-agents
error: externally-managed-environment
× This environment is externally managed

複数の Python バージョンが混在している場合

開発を続けていると、気づかないうちに複数の Python がインストールされていることがあります。以下のコマンドで確認できます:

which -a python3
# 複数のパスが表示される場合は複数インストールされている

この場合、PATH の設定を適切に行うか、Python バージョン管理ツール(pyenv など)の使用を検討しましょう。

まとめ

「Python を入れた覚えがないのに Python 3.9が入っている」という状況は、Xcode Command Line Tools のインストールが原因です。このシステム Python は Apple の開発ツール用であり、strands-agents のような最新の開発ツールには適していません。

Homebrew で Python 3.12を別途インストールし、仮想環境を活用することで、システムに影響を与えることなく strands-agents を快適に使用できるでしょう。

参考資料

デジタルキューブ

Discussion