mcpField
M
managing-environments

managing-environments

github.com/delphine-l開発2281 回インストール24 週間前に更新
リポジトリ

managing-environments について

managing-environmentsは、venvとcondaでのPythonパッケージ導入や開発環境の設定を案内するスキルです。導入前の環境確認とユーザーへの確認を重視し、環境選択やトラブルシューティングも扱います。

主な機能

  1. 01有効なvenv・conda環境の検出
  2. 02インストール前の環境確認
  3. 03環境未有効時の警告
  4. 04venvまたはcondaの選択案内
  5. 05インストールとトラブル対応の資料

活用シーン

  1. 01Python依存パッケージの安全な導入
  2. 02Pythonプロジェクト環境の設定
  3. 03インポートやパッケージ問題の診断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/delphine-l/claude_global --skill managing-environments

インストール後、Claude Code で/managing-environmentsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

best-practices-and-scenarios.md
installation-patterns.md
troubleshooting-and-examples.md

詳細

開発環境の管理

Python 仮想環境(venv)と conda 環境を扱うためのガイドラインです。このスキルでは、作業を進める前に必ずアクティブな環境を確認し、ユーザーの了承を得ることで、安全で整理されたパッケージのインストールを実現します。

このディレクトリにある関連ファイル:

  • installation-patterns.md - venv と conda のインストールコマンド、チャンネルの優先順位、TOS エラーへの対処
  • best-practices-and-scenarios.md - よくあるシナリオ、ベストプラクティス、再開可能なデータ取得のパターン
  • troubleshooting-and-examples.md - よくある問題のトラブルシューティングと具体例

このスキルを使う場面

次の場合はいつでも、このスキルを有効にしてください。

  • Python パッケージやツールをインストールする場合
  • ユーザーから依存関係のインストールを依頼された場合
  • 新しい Python プロジェクトをセットアップする場合
  • インポートやパッケージの問題をデバッグする場合
  • Python 開発全般に取り組む場合

基本原則

  1. インストールの前に必ず環境の状態を確認する
  2. 使用する環境を必ずユーザーに確認する
  3. 環境の確認なしにインストールしない
  4. アクティブな環境がない場合は警告する
  5. 適切な環境の種類をユーザーが選べるよう支援する

環境検出のワークフロー

ステップ 1:環境の状態を確認する

**インストールコマンドを実行する前に必ず、**次の確認を実行します。

# Check for active venv
echo "Python executable: $(which python)"
echo "Virtual environment: $VIRTUAL_ENV"

# Check for conda environment
echo "Conda environment: $CONDA_DEFAULT_ENV"
conda info --envs 2>/dev/null || echo "Conda not available"
ステップ 2:結果を解釈する

シナリオ A:venv がアクティブ

Python executable: /path/to/project/.venv/bin/python
Virtual environment: /path/to/project/.venv
Conda environment:

-> Python venv がアクティブです

シナリオ B:conda 環境がアクティブ

Python executable: /path/to/miniconda3/envs/myenv/bin/python
Virtual environment:
Conda environment: myenv

-> Conda 環境がアクティブです

シナリオ C:環境なし(システム Python)

Python executable: /usr/bin/python
Virtual environment:
Conda environment:

-> アクティブな環境がありません。ユーザーに警告してください。

シナリオ D:両方が検出された場合(まれ)

Virtual environment: /path/to/.venv
Conda environment: base

-> 両方がアクティブです。which python の結果を優先しますが、ユーザーに確認してください。

ステップ 3:ユーザーに確認する

続行する前に必ず質問してください。

I've detected the following environment:
- Environment type: [venv/conda/none]
- Location: [path]
- Python version: [version]

Is this the environment you want me to use for installing [package/tool]?

続行する前に、ユーザーの確認を待ってください。

環境の種類ごとのインストールコマンドについては、installation-patterns.md を参照してください。


アクティブな環境がない場合 ― 警告と計画

環境が検出されない場合、インストールを続行しないでください。 代わりに、次の手順に従ってください。

ステップ 1:ユーザーに警告する
WARNING: No Python environment detected!

You're currently using system Python:
- Location: [path to python]
- Version: [version]

Installing packages to system Python can:
- Cause conflicts with system packages
- Require sudo/admin privileges
- Make projects difficult to reproduce
- Break system tools that depend on specific versions

I recommend creating a virtual environment first.
ステップ 2:環境の種類を選べるよう支援する

判断フロー:

Question: What type of project are you working on?

A. Pure Python project (web dev, scripting, etc.)
   -> Recommend: Python venv
   -> Fast, lightweight, standard Python tool

B. Data science / Scientific computing
   -> Ask: Do you need non-Python dependencies? (R, C libraries, etc.)

   B1. Yes (or using packages like numpy, scipy, pandas, etc.)
       -> Recommend: Conda
       -> Better binary dependency management

   B2. No, only Python packages
       -> Recommend: Python venv
       -> Simpler and faster

C. Bioinformatics / Genomics
   -> Recommend: Conda (with bioconda channel)
   -> Most tools available via bioconda
   -> Manages complex dependencies well

D. Galaxy tool development
   -> Recommend: Conda
   -> Galaxy uses conda for tool dependencies
   -> Direct compatibility
ステップ 3:環境の作成を提案する

venv の場合:

python -m venv .venv
source .venv/bin/activate  # Linux/Mac
which python

conda の場合:

conda create -n project-name python=3.11
conda activate project-name
conda info --envs
which python

環境の選択ガイドライン

Python venv を使う場合:
  • 純粋な Python プロジェクト
  • 依存関係が単純(すべて PyPI から入手可能)
  • 一般的な Web 開発(Django、Flask、FastAPI)
  • コンパイル済み拡張機能や C ライブラリが不要
  • 環境をできるだけ速く作成したい
  • Python 3.3 以降を使用する

メリット: 軽量で高速、Python に組み込まれており、すべてのプラットフォームで動作します。 デメリット: Python 以外の依存関係の管理が難しく、バイナリパッケージでシステムライブラリが必要になる場合があります。

Conda 環境を使う場合:
  • データサイエンス/機械学習
  • 科学技術計算(numpy、scipy、pandas)
  • バイオインフォマティクス/ゲノミクス
  • 特定の Python バージョンが必要
  • 言語をまたぐ依存関係(R、C++ など)
  • Galaxy ツールの開発
  • 複雑なバイナリ依存関係

メリット: バイナリ依存関係を管理でき、言語をまたいだ利用に対応し、科学計算用パッケージに適しており、Python のバージョンも管理できます。 デメリット: venv より遅く、ディスク容量を多く使い、conda のインストールが必要です。


クイックリファレンス

環境の検出コマンド
# Check what's active
which python
echo $VIRTUAL_ENV
echo $CONDA_DEFAULT_ENV

# Python version
python --version

# Installed packages
pip list          # for pip
conda list        # for conda

# Environment location
pip show package-name  # shows where package is installed
環境の有効化コマンド
# venv
source .venv/bin/activate                    # Linux/Mac
.venv\Scripts\activate                       # Windows

# conda
conda activate environment-name

# Deactivation
deactivate                                   # venv
conda deactivate                             # conda

よくあるシナリオ、ベストプラクティス、トラブルシューティング、具体例については、このディレクトリにある関連ファイルを参照してください。


まとめ

必ず次の点を覚えておいてください。

  1. インストールの前に環境を確認する
  2. アクティブな環境をユーザーに示す
  3. 続行する前にユーザーに確認する
  4. アクティブな環境がない場合は警告する
  5. 適切な環境の種類を選べるよう支援する
  6. 再現性を確保するため、環境のセットアップを記録する

次のことはしないでください。

  • 環境を確認せずにインストールする
  • ユーザーがシステム Python の使用を希望していると決めつける
  • ユーザーの確認なしにインストールする
  • conda の base 環境に関する警告を省略する

このスキルにより、すべてのプロジェクトでクリーンかつ再現可能で、競合のない Python 環境を実現します。

コメント