Conda (Miniforge / Mamba)
Contents
Conda とは?
Conda は、プログラミング言語ごとの壁を越えた「パッケージ管理システム」兼「仮想環境管理システム」です。
Python の標準的なツール(pip)は Python 製のライブラリしか管理できませんが、Conda は C/C++ や Fortran で書かれたライブラリ(数値計算ライブラリやコンパイラなど)も含めて一括管理できます。 重力波解析(GWpy, LALSuite, nds2-clientなど)では、Python 以外の言語で書かれたバイナリに依存するツールが多いため、IGWN(LIGO-Virgo-KAGRA)では Conda の使用が推奨されています。
主なメリット:
環境の分離: プロジェクトA(古い解析コード)とプロジェクトB(最新の解析コード)で異なるバージョンの Python やライブラリを使い分けることができます。
バイナリの管理: gwpy や nds2-client のような複雑な依存関係を持つツールも、コンパイルエラーに悩まされることなくインストールできます。
An open source package management system and environment management system
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のインストール
まず、GitHubのリリースページからお使いのOS (Linux, MacOS, Windows) に合ったインストーラーをダウンロードします。 https://github.com/conda-forge/miniforge#install 以下はLinux (x86_64) の場合のコマンド例です。MacOS (Apple Silicon) の場合などはファイル名が異なるので注意してください。
- コマンドラインでインストーラーをダウンロードする。
$ curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
- インストーラーを実行する。
$ bash Miniforge3-Linux-x86_64.sh Welcome to Miniforge3 24.x.x-x In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>> (enterキーを押す) (中略) Do you accept the license terms? [yes|no] [no] >>> (yesと回答する) (中略: インストール先はデフォルトのままで通常問題ありません) Do you wish the installer to initialize Miniforge3 by running conda init? [yes|no] [no] >>> (yesと回答する) (中略) ==> For changes to take effect, close and re-open your current shell. <== If you'd prefer that conda's base environment not be activated on startup, set the auto_activate_base parameter to false: conda config --set auto_activate_base false Thank you for installing Miniforge3!
2. 設定を確認する
- 正しくインストールされていたら、新しいターミナルウィンドウを開いた後、conda (または mamba) が正しく動作することを確認できるはずです。
$ conda info active environment : base shell level : 1 user config file : /home/ユーザー名/.condarc populated config files : /home/ユーザー名/.condarc conda version : 24.x.x conda-build version : not installed python version : 3.10.x (または 3.11.x) virtual packages : __archspec=1=x86_64 __conda=24.x.x=0 __glibc=2.x=0 __linux=5.x=0 __unix=0=0 base environment : /home/ユーザー名/miniforge3 (writable) conda av data dir : /home/ユーザー名/miniforge3/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch package cache : /home/ユーザー名/miniforge3/pkgs /home/ユーザー名/.conda/pkgs envs directories : /home/ユーザー名/miniforge3/envs /home/ユーザー名/.conda/envs platform : linux-64 user-agent : conda/24.x.x requests/2.x.x CPython/3.10.x ... UID:GID : 1000:1000 netrc file : None offline mode : False
- conda-forgeチャンネルの確認
- Miniforgeを使用している場合、デフォルトで conda-forge が最優先のチャンネルとして設定されているはずです(channel URLs の一番上が conda-forge になっていればOK)。 Anacondaを使用している場合のみ、以下の設定が必要です(Miniforgeなら不要です):
$ conda config --add channels conda-forge $ conda config --set channel_priority strict
- Miniforgeを使用している場合、デフォルトで conda-forge が最優先のチャンネルとして設定されているはずです(channel URLs の一番上が conda-forge になっていればOK)。 Anacondaを使用している場合のみ、以下の設定が必要です(Miniforgeなら不要です):
解析用環境の作成
ベース環境 (base) に直接パッケージを入れるのではなく、解析用の仮想環境を作成することを強く推奨します。
- 仮想環境の作成と有効化 (例: python 3.11環境)
$ mamba create -n igwn-py311 python=3.11 $ mamba activate igwn-py311 (igwn-py311) $ mamba install gwpy python-nds2-client
※ conda コマンドの代わりに mamba を使うと、インストール速度が格段に速くなります。
condaの削除・クリーンアップ
- 環境一覧を表示
$ conda info -e # conda environments: # base * /home/ユーザー名/miniforge3 igwn-py311 /home/ユーザー名/miniforge3/envs/igwn-py311
- いらない環境を削除
$ conda remove --name ENV_NAME --all
- 不要になったパッケージやキャッシュを削除 (ディスク容量の節約)
$ conda clean --all
- Miniforge (conda) 自身を削除
- Miniforgeの場合は、ディレクトリごと削除し、.bashrc 等の記述を消すだけで完了です。
$ rm -rf /home/ユーザー名/miniforge3
その後、~/.bashrc (または ~/.zshrc, ~/.bash_profile) をエディタで開き、>>> conda initialize >>> から <<< conda initialize <<< までのブロックを削除してください。
- Miniforgeの場合は、ディレクトリごと削除し、.bashrc 等の記述を消すだけで完了です。
他のパッケージ管理ツールとの比較・注意点
PythonにはConda以外にも多くの管理ツールがあります。それぞれの違いと、Conda環境内での併用ルールについてまとめます。
ツール |
概要 |
Condaとの関係・注意点 |
pip |
Python標準のパッケージインストーラー (PyPI)。 |
併用可能だが要注意。 |
venv / virtualenv |
Python標準の仮想環境作成ツール。軽量。 |
原則併用しません。 |
uv |
Rust製の超高速な次世代ツール (pip/venvの代替)。 |
Condaの代わりになりつつあるが、現状は非推奨。 |
重要: Conda と pip を混ぜる際のマナー
Conda環境内でどうしても pip を使う必要がある場合(gwpy等はCondaにあるが、特定のマイナーなライブラリがPyPIにしかない場合など)は、以下の手順を厳守してください。
仮想環境を作成する (conda create -n myenv python=3.11)
conda install (または mamba install) で、必要なパッケージを可能な限り全てインストールする。
どうしても Conda に無いパッケージのみ、最後に pip install する。
その後、同じ環境で conda install を追記しない。
- (pipを使った後にcondaを使うと、依存関係の整合性が取れなくなり環境が壊れることがあります)
