rootpy
rootpy copied to clipboard
byteplay implementation incompatible with Python 3.8 opcode changes
Python 3.8 introduces some CPython bytecode changes which break trying to read a TTree:
Traceback (most recent call last):
File "/gscratch/stf/masonlp/Mu-Simulation/scripts/digitize.py", line 272, in <module>
sys.exit(main(sys.argv))
File "/gscratch/stf/masonlp/Mu-Simulation/scripts/digitize.py", line 256, in main
file, tree = open_tree(filepath, name)
File "/gscratch/stf/masonlp/Mu-Simulation/scripts/digitize.py", line 18, in open_tree
return file, file.Get(tree_key)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/io/file.py", line 75, in get
thing = f(self, _name, *args, **kwargs)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/io/file.py", line 347, in Get
return asrootpy(thing, **kwargs)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/__init__.py", line 255, in asrootpy
rootpy_cls = lookup(thing_cls)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/__init__.py", line 282, in lookup
return lookup_by_name(cls_name)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/__init__.py", line 298, in lookup_by_name
rootpy_cls = _get_class(cls_path, rootpy_cls_name)
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/__init__.py", line 275, in _get_class
rootpy_module = __import__(
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/tree/__init__.py", line 19, in <module>
from .tree import Tree, Ntuple
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/tree/tree.py", line 21, in <module>
from ..plotting.base import Plottable
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/plotting/__init__.py", line 6, in <module>
from ..utils.hook import classhook, super_overridden
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/utils/hook.py", line 6, in <module>
from .inject_closure import inject_closure_values
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/utils/inject_closure.py", line 5, in <module>
from ..extern import byteplay3 as byteplay
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/extern/byteplay3/__init__.py", line 9, in <module>
from .wbyteplay import *
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/ROOT.py", line 533, in _importhook
return _orig_ihook( name, *args, **kwds )
File "/gscratch/stf/masonlp/conda/envs/root/lib/python3.8/site-packages/rootpy/extern/byteplay3/wbyteplay.py", line 93, in <module>
BREAK_LOOP,
NameError: name 'BREAK_LOOP' is not defined