2

当我尝试在我的 MacBook M1 上运行街机文件时,它返回错误ModuleNotFoundError: No module named 'pymunkoptions'。在调试中,我注意到它在代码引用街机时立即被调用,并且它与不支持所有代码部分的 arm64 处理器有关。

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'

我做了一些研究,看起来 pymunkoptions 是旧版本 Pymunk 的一个折旧部分,在新版本中没有使用。切换到 Pymunk==5.7.0 会在 python3.9/site-packages 中创建一个 pymunkoptions 文件夹,但不会填充它,这与本例不同 -->什么是 pymunkoptions?,它并没有解决我的不兼容问题。

这可能是因为街机版本是 2.4.3,即使当前版本是 2.6.5。尝试安装比已安装版本更新的任何版本都会出现问题,因为它需要 Shapely 1.8.0(M1 arm64 仅支持最高 1.5.9)

我正在运行:python 3.9.4、arcade 2.4.3、pymunk 6.2.1 和 shapely 1.5.9。

谁能帮我??还有其他人在 MacBook M1 上运行街机程序可以分享一些见解吗?

4

1 回答 1

0

不幸的是,你处于一个棘手的境地。

6.x 之前的 Pymunk 不支持 M1s。有可能让它工作,但这需要对 setup.py 文件进行一些试验和错误编辑,以便它可以编译 Pymunk。但是,由于我没有 M1 可以试穿(我是 Pymunk 的创建者和维护者),我真的不可能修复它。此外,用于发布 Pymunk 的构建管道在 5.x 和 6.x 系列之间也发生了变化,因此发布 5.7.1 / 5.8 版本将是相当多的工作。

如果有人想为此付出努力,我认为最好的前进方式是让最新版本的 shapely 可以在 M1 上运行,因为无论如何这都是未来。看起来在 shapely 和街机 github 问题跟踪器中都存在跟踪此问题的问题。

于 2021-11-27T12:57:20.330 回答