Differences between revisions 6 and 7
Revision 6 as of 2025-01-30 11:05:17
Size: 4641
Comment:
Revision 7 as of 2026-01-01 15:09:03
Size: 9112
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Conda (Anaconda / Miniconda) = = Conda (Miniforge / Mamba) =
<<TableOfContents>>

== 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 のような複雑な依存関係を持つツールも、コンパイルエラーに悩まされることなくインストールできます。

----
Line 5: Line 18:
[[https://www.anaconda.com/distribution/|official site]] [[https://github.com/conda-forge/miniforge|Miniforge (GitHub)]]
Line 10: Line 23:
== IGWN "Local usage"の和訳 (2023-01-11) ==
このセクションはローカルマシン、つまりラップトップやデスクトップワークステーションで conda を使うユーザ向けに書かれています。
== IGWN "Local usage"の和訳・要約 (2025-01 Update) ==
このセクションはローカルマシン、つまりラップトップやデスクトップワークステーションで conda 環境構築するユーザ向けす。
Line 13: Line 26:
1. condaのインストール
 まず、conda自体のインストールです。Mambaforgeからcondaをインストールすることをお勧めします。[[https://github.com/conda-forge/miniforge#mambaforge]]
以前は 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) の場合などはファイル名が異なるので注意してください。
Line 16: Line 35:
   {{{
$ curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
   }}}
  {{{
$ curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
    }}}
Line 20: Line 39:
   {{{
$ bash Mambaforge-Linux-x86_64.sh
  {{{
$ bash Miniforge3-Linux-x86_64.sh
Line 23: Line 42:
Welcome to Mambaforge 22.9.0-2 Welcome to Miniforge3 24.x.x-x
Line 28: Line 47:
>>> (enterキーを押す) >>>  (enterキーを押す)
Line 35: Line 54:
(中略) (中略: インストール先はデフォルトのままで通常問題ありません)
Line 37: Line 56:
Do you wish the installer to initialize Mambaforge Do you wish the installer to initialize Miniforge3
Line 50: Line 69:
Thank you for installing Mambaforge!
   }}}
Thank you for installing Miniforge3!
  }}}
Line 53: Line 72:
2. condaの設定を確認する
  正しくインストールされていたら、新しいターミナルウィンドウを開いた後 condaが正しく動作することを確認できるはずです。(出力結果は人や時によって変わります)
  
2. 設定を確認する
  正しくインストールされていたら、新しいターミナルウィンドウを開いた後conda (または mamba) が正しく動作することを確認できるはずです。
   
Line 59: Line 78:


active environment : None
            shell level : 0
       user config file : /home/ユーザー名//.condarc
 populated config files : /home/ユーザー名//mambaforge/.condarc
          conda version : 22.9.0
     active environment : base
            shell level : 1
       user config file : /home/ユーザー名/.condarc
 populated config files : /home/ユーザー名/.condarc
          conda version : 24.x.x
Line 67: Line 84:
         python version : 3.10.6.final.0
       virtual packages : __cuda=11.7=0
                          __linux=5.10.10
2.1=0
                          __glibc=2.31=0
         python version : 3.10.x (または 3.11.x)
       virtual packages : __archspec=1=x86_64
                          __con
da=24.x.x=0
                          __glibc=2.x=0
                          __linux=5.x=0
Line 72: Line 90:
                          __archspec=1=x86_64
base environment : /home/ユーザー名//mambaforge (writable)
      conda av data dir : /home/ユーザー名//mambaforge/etc/conda
       base environment : /home/ユーザー名/miniforge3 (writable)
      conda av data dir : /home/ユーザー名/miniforge3/etc/conda
Line 78: Line 95:
          package cache : /home/ユーザー名//mambaforge/pkgs
                          /home/ユーザー名//.conda/pkgs
       envs directories : /home/ユーザー名//mambaforge/envs
                          /home/ユーザー名//.conda/envs
          package cache : /home/ユーザー名/miniforge3/pkgs
                          /home/ユーザー名/.conda/pkgs
       envs directories : /home/ユーザー名/miniforge3/envs
                          /home/ユーザー名/.conda/envs
Line 83: Line 100:
             user-agent : conda/22.9.0 requests/2.28.1 CPython/3.10.6 Linux/5.10.102.1-microsoft-standard-WSL2 debian/11 glibc/2.31              user-agent : conda/24.x.x requests/2.x.x CPython/3.10.x ...
Line 90: Line 107:
 * conda-forgeチャンネルが設定されていることを確認する
    IGWN ソフトウェアは conda-forge パッケージチャンネルにのみアップロードされます。上記の conda info の出力に conda-forge への参照がない場合は、以下のように conda-forge チャンネルを手動で設定する必要があります。
 * conda-forgeチャンネルの確認
    Miniforgeを使用している場合、デフォルトで conda-forge が最優先のチャンネルとして設定されているはずです(channel URLs の一番上が conda-forge になっていればOK)。
    Anacondaを使用している場合のみ、以下の設定が必要です(Miniforgeなら不要です):
Line 98: Line 115:
== 解析用環境の作成 ==
ベース環境 (base) に直接パッケージを入れるのではなく、解析用の仮想環境を作成することを強く推奨します。
Line 99: Line 118:
== condaの削除 ==  * 仮想環境の作成と有効化 (例: 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の削除・クリーンアップ ==
Line 105: Line 133:
base *  /home/ユーザー名/anaconda3
igwn-py39-20220317 /home/ユーザー名/anaconda3/envs/igwn-py39-20220317
base * /home/ユーザー名/miniforge3
igwn-py311 /home/ユーザー名/miniforge3/envs/igwn-py311
Line 114: Line 142:
 * 不要になったパッケージやキャッシュを削除  * 不要になったパッケージやキャッシュを削除 (ディスク容量の節約)
Line 119: Line 147:
 * conda自身を削除  * Miniforge (conda) 自身を削除
    Miniforgeの場合は、ディレクトリごと削除し、.bashrc 等の記述を消すだけで完了です。
Line 121: Line 150:
$ conda install anaconda-clean
$ anaconda-clean --yes
$ rm -r /home/ユーザー名/anaconda3
$ rm -rf /home/ユーザー名/miniforge3
Line 125: Line 152:
    最後にPATHの設定を戻しておくために.bash_profileからAnacondaのパスを消しておく     その後、~/.bashrc (または ~/.zshrc, ~/.bash_profile) をエディタで開き、>>> conda initialize >>> から <<< conda initialize <<< までのブロックを削除してください。

= 他のパッケージ管理ツールとの比較・注意点 =
PythonにはConda以外にも多くの管理ツールがあります。それぞれの違いと、Conda環境内での併用ルールについてまとめます。

|| '''ツール''' || '''概要''' || '''Condaとの関係・注意点''' ||
|| '''pip''' || Python標準のパッケージインストーラー (PyPI)。 || '''併用可能だが要注意。'''<<BR>>Conda環境内で使用できますが、必ず「Condaで入れられるものは全てCondaで入れ、Condaに無いものだけpipで入れる」順序を守ってください。混ぜると環境が壊れやすくなります。 ||
|| '''venv''' / '''virtualenv''' || Python標準の仮想環境作成ツール。軽量。 || '''原則併用しません。'''<<BR>>Conda自体が仮想環境機能を持っています。Condaで作った環境の中にさらにvenvを作るのは混乱の元です。 ||
|| '''uv''' || Rust製の超高速な次世代ツール (pip/venvの代替)。 || '''Condaの代わりになりつつあるが、現状は非推奨。'''<<BR>>非常に高速ですが、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を使うと、依存関係の整合性が取れなくなり環境が壊れることがあります)

Conda (Miniforge / Mamba)

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

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のインストール

  • まず、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

解析用環境の作成

ベース環境 (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 <<< までのブロックを削除してください。

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

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)