原文(日本語訳)
Python仮想環境の自動アクティベーションを追加し、pythonとpipコマンドが正しいインタープリターを使用するようになりました(claudeCode.usePythonEnvironment設定で構成可能)
原文(英語)
[VSCode] Added automatic Python virtual environment activation, ensuring python and pip commands use the correct interpreter (configurable via claudeCode.usePythonEnvironment setting)
概要
VS Code拡張でPythonプロジェクトを扱う際、仮想環境が自動的にアクティベートされ、pythonやpipコマンドが正しいインタープリターを使用するようになりました。これにより、依存関係の管理が容易になります。
基本的な使い方
VS Code設定で有効化します。
json
// settings.json
{
"claudeCode.usePythonEnvironment": true
}設定後、Claudeが自動的に仮想環境を検出して使用します。
bash
# VS Code の Claude Code 拡張内で
claude
> 依存関係をインストールしてください
# 自動的に仮想環境の pip を使用
python -m pip install -r requirements.txt
# → .venv/bin/pip が使用される実践例
venvプロジェクトでの依存関係管理
bash
# プロジェクトディレクトリに .venv が存在する場合
claude
> FastAPI をインストールしてください
# 自動的に仮想環境がアクティベートされる
# .venv/bin/pip install fastapi が実行されるPythonスクリプトの実行
bash
claude
> main.py を実行してください
# 仮想環境のPythonインタープリターが使用される
# .venv/bin/python main.pycondaプロジェクトの扱い
bash
# conda環境も検出される
claude
> pytest を実行してください
# conda環境のpytestが使用される複数の仮想環境が存在する場合
bash
# VS Codeで選択されているPython環境が優先される
# Command Palette > Python: Select Interpreter で選択
claude
> 現在のPython環境を確認してください
> which python
# → VS Codeで選択した環境のパスが表示される設定オプション
自動アクティベーションを無効化
json
{
"claudeCode.usePythonEnvironment": false
}無効化すると、システムのPythonが使用されます。
プロジェクトごとの設定
json
// .vscode/settings.json (プロジェクト固有)
{
"claudeCode.usePythonEnvironment": true,
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python"
}利点
依存関係の分離
bash
# プロジェクトAの環境
cd /project-a
claude
> pandas をインストール
# → /project-a/.venv に分離してインストール
# プロジェクトBの環境
cd /project-b
claude
> pandas をインストール
# → /project-b/.venv に分離してインストール一貫した実行環境
bash
# チーム全員が同じPythonバージョンと依存関係を使用
claude
> テストを実行してください
# requirements.txt の正確なバージョンが使用される注意点
- VS Code専用: この機能はVS Code拡張でのみ利用可能です(CLI版では別途venvをアクティベート)
- 環境検出:
.venv、venv、env、conda環境などが自動的に検出されます - 手動アクティベーション: 必要に応じて、手動でアクティベートすることも可能です
- Windowsの注意点: Windows環境では、PowerShellのActivate.ps1スクリプトが正しく機能することを確認してください
- パフォーマンス: 環境のアクティベーションにわずかな時間がかかる場合があります
トラブルシューティング
仮想環境が検出されない場合
json
// settings.json で明示的にパスを指定
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python"
}Windowsでの問題
bash
# PowerShell実行ポリシーを確認
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 手動でアクティベート
.\.venv\Scripts\Activate.ps1
claude