Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

byteplay implementation incompatible with Python 3.8 opcode changes #814

Open
masonproffitt opened this issue Dec 8, 2019 · 0 comments
Open

Comments

@masonproffitt
Copy link

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant