Using pyROOT on Fedora 30

Hi!

I installed ROOT from the system repository in Fedora. Now, while trying to use pyROOT for the first time, I encounter an issue as the line

import ROOT

from a python3 jupyter-notebook instance fails with the following error message:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-ee8dc4376aa8> in <module>
----> 1 import ROOT

/usr/lib64/python3.7/site-packages/ROOT.py in <module>
    830    ip = get_ipython()
    831    if hasattr(ip,"kernel"):
--> 832       import JupyROOT
    833       import JsMVA
    834 

/usr/lib64/python3.7/site-packages/ROOT.py in _importhook(name, *args, **kwds)
    529       except Exception:
    530          pass
--> 531    return _orig_ihook( name, *args, **kwds )
    532 
    533 __builtin__.__import__ = _importhook

ModuleNotFoundError: No module named 'JupyROOT'

How do I have to setup ROOT in order to provide the required prerequisites - is it necessary to build ROOT from source in order to enable python bindings?

Thanks for your time!

ROOT Version: 6.18/04
Platform: Fedora 30
Compiler: gcc 9.2.1


Hi,

Can you check your directory:

/usr/lib64/python3.7/site-packages/

It seems PyROOT is installed there (at least ROOT.py), but JupyROOT is not found. Can you confirm there is no subdirectory called JupyROOT in that directory?

On the other hand, where is the rest of ROOT installed? Perhaps @amadio knows how the Fedora ROOT package works and where JupyROOT is supposed to be installed.

Enric

On the other hand, I understand you are using PyROOT from IPython or from a Jupyter notebook. If you use just the Python prompt, it will not even try to import JupyROOT and you should not see the error.

Hello - thanks a lot for looking into the issue.

I can confirm that there is no subdirectory for JupyROOT in

/usr/lib64/python3.7/site-packages/

but ROOT.py is located there. The rest of ROOT is installed under the /usr/ prefix, hence in /lib64/,/bin/ and /include/ (reported by root-config).

Yes, I’m using it from a Jupyter notebook and can only say, that with import ROOT it reports this error (using python3, as mentioned).

After some further digging, the problem turned out to have a rather simple solution. JupyROOT is available from the software repository:

dnf install python3-jupyroot

That solved the issue and the import works.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.