Conda (Miniforge / Mamba)

Conda とは?

Conda は、プログラミング言語ごとの壁を越えた「パッケージ管理システム」兼「仮想環境管理システム」です。

Python の標準的なツール(pip)は Python 製のライブラリしか管理できませんが、Conda は C/C++ や Fortran で書かれたライブラリ(数値計算ライブラリやコンパイラなど)も含めて一括管理できます。 重力波解析(GWpy, LALSuite, nds2-clientなど)では、Python 以外の言語で書かれたバイナリに依存するツールが多いため、IGWN(LIGO-Virgo-KAGRA)では Conda の使用が推奨されています

主なメリット:


An open source package management system and environment management system

Miniforge (GitHub)

Please install conda on your PC referring to the IGWN webpage.
https://computing.docs.ligo.org/conda/usage/#local

IGWN "Local usage"の和訳・要約 (2025-01 Update)

このセクションはローカルマシン、つまりラップトップやデスクトップワークステーションで conda 環境を構築するユーザ向けです。

以前は Anaconda や Mambaforge が使われていましたが、現在は Miniforge の使用が推奨されています。Miniforge をインストールすることで、高速なパッケージマネージャーである mamba も自動的に使えるようになります。

1. Miniforgeのインストール

2. 設定を確認する

解析用環境の作成

ベース環境 (base) に直接パッケージを入れるのではなく、解析用の仮想環境を作成することを強く推奨します。

condaの削除・クリーンアップ

他のパッケージ管理ツールとの比較・注意点

PythonにはConda以外にも多くの管理ツールがあります。それぞれの違いと、Conda環境内での併用ルールについてまとめます。

ツール

概要

Condaとの関係・注意点

pip

Python標準のパッケージインストーラー (PyPI)。

併用可能だが要注意。
Conda環境内で使用できますが、必ず「Condaで入れられるものは全てCondaで入れ、Condaに無いものだけpipで入れる」順序を守ってください。混ぜると環境が壊れやすくなります。

venv / virtualenv

Python標準の仮想環境作成ツール。軽量。

原則併用しません。
Conda自体が仮想環境機能を持っています。Condaで作った環境の中にさらにvenvを作るのは混乱の元です。

uv

Rust製の超高速な次世代ツール (pip/venvの代替)。

Condaの代わりになりつつあるが、現状は非推奨。
非常に高速ですが、KAGRA/LIGOの解析ツールの多くはCondaでの配布を前提としています。上級者以外はMiniforgeの使用が無難です。

重要: Conda と pip を混ぜる際のマナー

Conda環境内でどうしても pip を使う必要がある場合(gwpy等はCondaにあるが、特定のマイナーなライブラリがPyPIにしかない場合など)は、以下の手順を厳守してください。

  1. 仮想環境を作成する (conda create -n myenv python=3.11)

  2. conda install (または mamba install) で、必要なパッケージを可能な限り全てインストールする

  3. どうしても Conda に無いパッケージのみ、最後に pip install する。

  4. その後、同じ環境で conda install を追記しない。

    • (pipを使った後にcondaを使うと、依存関係の整合性が取れなくなり環境が壊れることがあります)

KAGRA/Subgroups/PEM/Conda (last edited 2026-01-01 15:09:03 by tatsuki.washimi)