# browser-useの環境構築を通して進化し続けるAI環境に適した環境分離をマスターしよう!
はじめに:Macユーザーのための環境分離ガイド
このガイドは、Macユーザー を対象にしています。コマンドライン操作を通じて、Pythonプロジェクトの環境分離を効率的に実現します。操作に不安を感じる方も、すべてのコマンドに簡単な解説を付けていますので安心してください。
環境分離の重要性:なぜ必要なのか?
1. 依存関係の衝突を防ぐ
プロジェクトごとに異なるPythonバージョンやライブラリを使用しても、環境分離により衝突を防げます。
2. 再現性を確保
環境分離を行うことで、他の開発者が同じ環境でプロジェクトを再現できます。
3. 軽量かつ自由度の高い管理
pyenv
と direnv
を使えば、Anacondaのような重厚なツールを使わずに、軽量で柔軟な環境管理が可能です。
4. AIツールの進化速度に対応
AIツールやライブラリの進化は非常に速く、依存関係が複雑化します。環境分離がないと、ツール間の依存関係が壊れるリスクが高まります。
必要な情報を準備する
OpenAIのAPIキーを取得
- OpenAIの公式サイト https://platform.openai.com/ にアクセスします。
- アカウントを作成またはログインし、APIキーを取得してください。
- APIキーをコピーし、後述する
.envrc
に設定します。
必要ツールのインストール
MacのCPUアーキテクチャを確認
以下のコマンドでシステムアーキテクチャを確認します。
uname -m
-
コマンド解説:
uname -m
は現在のシステムアーキテクチャを表示します。x86_64
はIntel、arm64
はApple Siliconを意味します。
direnvのインストール
-
公式バイナリをダウンロード
CPUアーキテクチャに応じて以下を実行します。
-
Apple Silicon (M1/M2):
wget -O direnv https://github.com/direnv/direnv/releases/latest/download/direnv.darwin-arm64
-
Intel Mac:
wget -O direnv https://github.com/direnv/direnv/releases/latest/download/direnv.darwin-amd64
-
コマンド解説:
wget
は指定したURLからファイルをダウンロードするツールです。-O direnv
はダウンロードしたファイルをdirenv
という名前で保存するオプションです。
-
-
実行可能にしてシステムに追加
chmod +x direnv sudo mv direnv /usr/local/bin/direnv
-
コマンド解説:
-
chmod +x direnv
: ファイルに実行権限を付与します。 -
sudo mv direnv /usr/local/bin/direnv
: 管理者権限でdirenv
をシステムの実行可能パスに移動します。
-
-
コマンド解説:
-
シェルに統合
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc source ~/.zshrc
-
コマンド解説:
-
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
:direnv
をzshシェルで有効化します。 -
source ~/.zshrc
: シェル設定を再読み込みします。
-
-
コマンド解説:
-
インストール確認
direnv --version
-
コマンド解説:
direnv --version
は、インストールされたdirenv
のバージョンを表示します。
-
コマンド解説:
pyenvのインストール
pyenvとは?
pyenv
は、複数のPythonバージョンを簡単にインストール・管理できるツールです。プロジェクトごとに異なるPythonバージョンを柔軟に設定できます。
インストール手順
-
依存関係をインストール
xcode-select --install
-
コマンド解説:
xcode-select --install
は、Apple Developer Tools(Xcodeの一部)をインストールするコマンドです。
-
コマンド解説:
-
公式リポジトリからクローン
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
-
コマンド解説:
git clone
は、指定したリポジトリをローカルにコピーするコマンドです。
-
コマンド解説:
-
シェルに設定を追加
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init --path)"' >> ~/.zshrc source ~/.zshrc
-
コマンド解説:
-
export PYENV_ROOT="$HOME/.pyenv"
:pyenv
のルートディレクトリを環境変数として設定します。 -
export PATH="$PYENV_ROOT/bin:$PATH"
:pyenv
のバイナリをシステムのPATHに追加します。 -
eval "$(pyenv init --path)"
:pyenv
をシェルで有効化します。 -
source ~/.zshrc
: シェル設定を再読み込みします。
-
-
コマンド解説:
-
インストール確認
pyenv --version
-
コマンド解説:
pyenv --version
は、インストールされたpyenv
のバージョンを表示します。
-
コマンド解説:
実験用ディレクトリの作成
-
ディレクトリ作成
mkdir ~/browser-use-test cd ~/browser-use-test
-
コマンド解説:
mkdir
は新しいディレクトリを作成し、cd
でそのディレクトリに移動します。
-
コマンド解説:
-
rsion
をダウンロードwget https://raw.githubusercontent.com/browser-use/browser-use/main/rsion
-
コマンド解説:
wget
を使用して、指定されたURLからファイルをダウンロードします。
-
コマンド解説:
-
Pythonバージョンのインストール
pyenv install --skip-existing $(cat rsion)
-
コマンド解説:
pyenv install
はPythonバージョンをインストールします。$(cat rsion)
はrsion
ファイルの内容を取得して、そのバージョンをインストールします。
-
コマンド解説:
-
インストール確認
pyenv versions
-
コマンド解説:
pyenv versions
は、インストール済みのPythonバージョンを一覧表示します。
-
コマンド解説:
direnvの設定と環境変数の利用
-
.envrc
を作成echo 'export PYENV_VERSION=$(cat rsion)' > .envrc echo 'layout python' >> .envrc echo 'export OPENAI_API_KEY="sk-xxxx...xxxx"' >> .envrc
-
コマンド解説:
-
export PYENV_VERSION=$(cat rsion)
:rsion
ファイルに記載されたPythonバージョンを環境変数として設定します。 -
layout python
:venv
を使用して仮想環境を自動的に有効化します。 -
export OPENAI_API_KEY="sk-xxxx...xxxx"
: OpenAI APIキーを環境変数として設定します(xxxx
を自身のキーに置き換えてください)。
-
-
コマンド解説:
-
direnv
を有効化direnv allow
-
コマンド解説:
direnv allow
は、現在のディレクトリの.envrc
設定を有効にするコマンドです。
-
コマンド解説:
-
環境変数の確認
echo $OPENAI_API_KEY
-
コマンド解説:
echo $OPENAI_API_KEY
は、設定された環境変数OPENAI_API_KEY
の値を表示します。
-
コマンド解説:
browser-use のインストール
-
インストール
pip install browser-use
-
コマンド解説:
pip install browser-use
は、Python パッケージインデックス (PyPI) からbrowser-use
をインストールします。
-
コマンド解説:
-
インストール確認
python -m pip show browser-use
-
コマンド解説:
python -m pip show browser-use
は、browser-use
パッケージがインストールされていることを確認し、その詳細情報を表示します。
-
コマンド解説:
サンプルコードの作成と実行
以下の内容で flight_search.py
を作成します。このスクリプトでは、browser-use
を使って「東京からシンガポールへのフライト情報」を検索します。
サンプルコード
import os
from browser_use import BrowserUse
# 環境変数から API キーを取得
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
raise ValueError("環境変数 OPENAI_API_KEY が設定されていません。")
# BrowserUse の初期化
browser = BrowserUse(api_key=api_key)
# 検索クエリの設定
query = """
東京からシンガポールへのフライトを検索してください。
フライト時間と航空料金を考慮し、最適なルートを3つ提示してください。
Google Flightsを参照してください。
"""
# 検索を実行
response = browser.search(query)
# 結果を表示
print("検索クエリ:", query)
print("検索結果:")
print(response)
-
コード解説:
-
os.getenv("OPENAI_API_KEY")
: 環境変数OPENAI_API_KEY
から API キーを取得します。 -
BrowserUse(api_key=api_key)
:browser-use
を初期化します。 -
browser.search(query)
: 指定したクエリを実行し、結果を取得します。 -
print(response)
: 実行結果を表示します。
-
実行手順
-
上記コードを保存し、以下のコマンドで実行します。
python flight_search.py
-
実行結果例:
検索クエリ:
東京からシンガポールへのフライトを検索してください。
フライト時間と航空料金を考慮し、最適なルートを3つ提示してください。
Google Flightsを参照してください。
検索結果:
1. フライト: 東京 (NRT) - シンガポール (SIN)
航空会社: シンガポール航空
時間: 6時間30分
料金: 80,000円
2. フライト: 東京 (HND) - シンガポール (SIN)
航空会社: ANA
時間: 7時間
料金: 75,000円
3. フライト: 東京 (NRT) - シンガポール (SIN)
航空会社: 日本航空
時間: 6時間45分
料金: 78,000円
環境削除のメリットと手順
環境削除のメリット
-
完全な環境分離:
他のプロジェクトに影響を与えず、クリーンな環境を構築できます。 -
簡単な削除プロセス:
プロジェクトが不要になった場合、ディレクトリを削除するだけで環境を完全に消去できます。
環境削除手順
以下のコマンドで環境を完全に削除します。
cd ~
rm -rf ~/browser-use-test
- コマンド解説:
-
cd ~
: ホームディレクトリに移動します。 -
rm -rf ~/browser-use-test
: 実験用ディレクトリを強制的に削除します。
まとめ
このガイドを通じて、以下を学びました:
-
環境分離の重要性:
direnv
、pyenv
、venv
を活用して、安全かつ効率的に環境を分離する方法。 -
コマンドライン操作の基礎:
各コマンドの目的と動作を理解することで、自信を持って操作できるようになります。 -
AIツールの利用方法:
OpenAI API を使ってbrowser-use
を活用し、実用的なタスクを実行する方法。
応用のすすめ
この方法を応用することで、ディレクトリ単位での環境分離を通じて、さまざまなAIツールやPythonプロジェクトを試すことができます。進化の速いAI技術に柔軟に対応し、安全にプロジェクトを管理していきましょう!
この記事はChatGPTで作成しました。
Discussion