2

When I try to run an arcade file on my MacBook M1 it returns the error ModuleNotFoundError: No module named 'pymunkoptions'. In debugging I noticed that it got called as soon as the code referenced arcade, and that it has to do with the arm64 processor not supporting all the parts of the code.

Traceback (most recent call last):
  File "~/project/__main__.py", line 1, in <module>
    from game.director import Director
  File "~/project/game/director.py", line 1, in <module>
    from arcade import SpriteList
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/arcade/__init__.py", line 103, in <module>
    from .drawing_support import calculate_hit_box_points_detailed
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/arcade/drawing_support.py", line 7, in <module>
    import pymunkoptions
ModuleNotFoundError: No module named 'pymunkoptions'

I did some research and it looks like pymunkoptions was a depreciated part of the older versions of Pymunk, which isn't used in the newer versions. switching to Pymunk==5.7.0 creates a pymunkoptions folder in python3.9/site-packages but doesn't populate it, and unlike in this instance --> What is pymunkoptions? , it doesn't solve my incompatibility issues.

This is likely because the arcade version is 2.4.3, even though the current version is 2.6.5. Attempting to install any version newer than the one installed brings up issues because it needs Shapely 1.8.0 (which is only supported up to 1.5.9 for the M1 arm64)

I am running: python 3.9.4, arcade 2.4.3, pymunk 6.2.1, and shapely 1.5.9.

Can anyone help me?? Is there anyone else running arcade programs on a MacBook M1 that can share some insight?

1 Answers1

0

Unfortunately you are in a tricky situation.

Pymunk before 6.x does not support M1s. It might be possible to make it work, but that would require some trial and error editing of the setup.py file so that it can compile Pymunk. However, since I dont have a M1 to try on (Im the creator & maintainer of Pymunk) its not really possible for me to fix it. In addition, the build pipeline used to make releases of Pymunk has also changed between the 5.x and 6.x series, so it would be quite a bit of work to put out a 5.7.1 / 5.8 release.

If someone wants to put effort into this I think the best way forward would be to make the recent version of shapely work on M1, since this is the future anyway. Looks like there are issues tracking this in both the shapely and arcade github issue trackers..

viblo
  • 4,159
  • 4
  • 20
  • 28