PyROOTしたい(import ROOT

>>> import ROOT
>>> ROOT.__version__
'6.40.00'

>>> ROOT.__file__
'/opt/homebrew/Cellar/root/6.40.00/lib/root/ROOT/__init__.py'

PyROOTは、PythonからROOTを操作できるパッケージです。 import ROOTでパッケージを読み込み、 バージョンやライブラリのパスを確認しています。

パス設定($PYTHONPATH

1export ROOTSYS=$(root-config --prefix)
2export PYTHONPATH=$ROOTSYS/lib/root:$PYTHONPATH

環境変数の設定PYTHONPATHも設定されるはずですが、 使用しているPython環境によっては、パスが認識されない場合があります。 その場合は、環境変数$PYTHONPATHにパスを追加するとよいはずです。

注釈

virtualenvPoetryなどで仮想環境上に構築している場合、 jupyter-labpipxでインストールした場合、 VS Code上のJupyter(ipykernel)を使っている場合などで、 うまくimportできない場合は、まずPYTHONPATHの設定を確認してみるとよいと思います。

仮想環境したい(uv venv

// PyROOTがビルドされたPythonのバージョンを確認
$ root-config --python-version
3.14.5

// uv venvで仮想環境を作成
$ uv venv --python 3.14 --system-site-packages

// PyROOTの動作確認
$ uv run python3 -c "import ROOT; print(ROOT.__version__)"

// ROOT Notebookを使う場合
$ uv pip install jupyter
$ uv pip install metakernel    # ROOT C++ kernelに必要
$ uv run root --notebook

プロジェクトでPyROOTを使う場合は、 仮想環境からシステムパッケージを参照できるようにするのが簡単です。 このサンプルはuv venvを使ったときのコマンド例です。

(削除予定)MacPortsしたい

この段落の内容は古くなっています。 10年くらいMacPortsは使っていないため、近いうちに削除します。

MacPorts でインストールする場合は、Pythonの variants を指定します。 ROOT6 では +python27 がデフォルトで ON になっています。 ROOT5 では忘れずに指定する必要があります。

また、このとき variants に指定するバージョンは、自分が使うPythonのバージョンに合わせる必要があります。 ミスマッチだと、動作せず、クラッシュします。

注釈

Python2.7のころには、よりPythonicな書き方で使うことを目指した rootpyパッケージがありました。 Python3にも対応していたと思いますが、数年前に開発停止しているようです。