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