Opened 5 months ago

Last modified 5 months ago

#68808 assigned defect

py-scikit-hep-awkward: ModuleNotFoundError: No module named 'awkward_array'

Reported by: yszhang95 Owned by: cjones051073 (Chris Jones)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: arm64 sonoma Cc:
Port: py-scikit-hep-awkward

Description

What I have done,

~ % sudo port clean py-scikit-hep-awkward
Password:
--->  Cleaning py-scikit-hep-awkward
~ % sudo port install py-scikit-hep-awkward
--->  Computing dependencies for py-scikit-hep-awkward
--->  Cleaning py-scikit-hep-awkward
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.

The error message reads

Python 3.11.6 (main, Nov 14 2023, 12:12:41) [Clang 15.0.0 (clang-1500.0.40.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import awkward_array
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'awkward_array'
>>> import awkward
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/__init__.py", line 12, in <module>
    import awkward.contents
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/contents/__init__.py", line 3, in <module>
    from awkward.contents.bitmaskedarray import BitMaskedArray  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/contents/bitmaskedarray.py", line 22, in <module>
    from awkward.contents.bytemaskedarray import ByteMaskedArray
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/contents/bytemaskedarray.py", line 11, in <module>
    from awkward._layout import maybe_posaxis
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/_layout.py", line 6, in <module>
    from awkward._backends.numpy import NumpyBackend
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/awkward/_backends/numpy.py", line 4, in <module>
    import awkward_cpp
ModuleNotFoundError: No module named 'awkward_cpp'

The platform is Apple M2 Pro, Sonoma 14.0

Change History (5)

comment:1 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to cjones051073
Status: newassigned
Summary: awkward array cannot be importedpy-scikit-hep-awkward: ModuleNotFoundError: No module named 'awkward_array'

comment:2 Changed 5 months ago by cjones051073 (Chris Jones)

Can you comment on when this stopped working ? was it a recent update or has it not worked for a while ?

comment:3 Changed 5 months ago by jmroot (Joshua Root)

It looks like awkward_cpp is built separately now and awkward itself is noarch. So awkward_cpp probably needs to be added as a separate port that awkward depends on. Might as well switch to fetching from pypi rather than git while you're at it I guess?

comment:4 in reply to:  2 Changed 5 months ago by yszhang95

Replying to cjones051073:

Can you comment on when this stopped working ? was it a recent update or has it not worked for a while ?

Hi, I just noticed this recently. I have not used port-based awkward-array for a while.

I think jmrrot is correct. The package is now a separate pip package, https://pypi.org/project/awkward-cpp/#description

And it says,

It is not useful on its own, only as a dependency for awkward

comment:5 Changed 5 months ago by cjones051073 (Chris Jones)

Yes, it appears when v2 came out they refactor the build a bit introducing this new step.

On a quick look it is going to take more time than I have right now to get it building again, I need to figure out how to run the additional steps they now require. For one, it appears to require some utility called not which I don't think we even have in MacPorts yet...

if you only need awkward then you could for now uninstall it and install the older py-scikit-hep-awkward1 port that I kept around for some reason that now appears useful...

Note awkward1 conflicts with the newer port, so you will have to remove v2 first.

As you might have guessed I don't really use these much myself any more. I probably should make them no maintainer....

Note: See TracTickets for help on using tickets.