python

[python] conda に纏わるアレコレ [ROOT]

投稿日:

Anaconda が色々アレなので conda + conda-forge な環境を作った際に気づいた諸々をまとめてみる。


 

Miniforge のススメ

Anaconda が使いにくい環境となった場合に見つかる方法が Miniconda + conda-forge という方法。
Anaconda は最初から数多くの(不要な)パッケージが同梱されているので、
Anaconda が提供する最小環境: Miniconda を持ってきて、
デフォルトチャンネル(Anaconda) を外して conda-forge を指定して利用するというもの。

この方法、言ってもデフォルトチャンネルは Anaconda なので、
チャンネル指定は anaconda を共通の .condarc に記録されるのため、
既存の anaconda 環境と干渉するため、conda-forge環境をちょっと試すという用途に向かない。

一方、Miniforge は、既定のチャンネルが標準で conda-forge になっている。
そのほか、Miniconda では(まだ)未対応な M1 Mac などを含む様々なCPUアーキテクチャに対応済み。
公式で説明されている Miniconda + conda-forge との違いは以下。

  • conda-forge set as the default channel
  • an emphasis on supporting various CPU architectures
  • optional support for PyPy in place of standard Python (aka "CPython")
  • optional support for Mamba in place of Conda

 

conda で ROOT をインストール

これまで PyROOT を使いたい場合は、基本的には自分で別途 ROOT をビルドして、
libPyROOT を含むパスを、何らかの方法で別途環境変数として指定する必要があった。
# これが時には trouble の原因になることも。。。

先日まで私も知らなかったのだが、ROOT が conda 経由でインストールできるようになっていた。
この方法で導入すると libpython やほかの環境も全て解決された状態で入るので、
PyROOT のみならず、python を使わず単に ROOT を導入する方法としてもかなり手軽で確実。
導入した conda 環境を activate してやると、root の実行ファイルなどにもパスが通る。

一方、注意点としては、例えば Miniforge 自体は 60MB 程度しか容量を食わないが、
$ conda create --name xxx root として ROOT (を含む)環境を作ると、
それだけでストレージを 2.2GB も消費することになる。

Google Adsense

Google Adsense

-python
-, , ,

Copyright© HEPtech, 2024 All Rights Reserved.