导入pygame时“通用包装器中没有匹配的体系结构”

问题描述 投票:11回答:2

我在运行Snow Leopard 10.6.8和Python 2.7.2的MacBook Pro上。我去了pygame网站,下载并安装了所有必需的框架和程序,编译并安装了pygame,但我无法将模块导入python。我从pygame网站下载了一个示例程序,每次运行它都会出现此错误:

Traceback (most recent call last):
File "/Users/jesse/Downloads/PurpleMines/PurpleMines.py", line 3, in <module>
from pygame import *
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/__init__.py", line 95, in <module>
from pygame.base import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so, 2): no suitable image found.  Did find:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so: no matching architecture in universal wrapper

我猜它与运行64位操作系统有关的问题?

在此先感谢您的帮助。

python macos osx-snow-leopard pygame python-2.7
2个回答
14
投票

删除旧的pygame安装并重新安装对我来说是个窍门。我正在运行Mac OS 10.7

sudo rm -Rf /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame

然后从以下位置复制并安装pygame:

http://www.pygame.org/ftp/pygame-1.9.2pre-py2.7-macosx10.7.mpkg.zip


3
投票

虽然Sylvain上面说的是正确的,但这个错误通常是由python和pygame之间的比特率差异引起的。重新加载它可能只会有所帮助,因为您可以获得正确的时间分布。要告诉python的比特率,请执行以下操作:

import platform
platform.architecture()

如果它是32位,获得32位pygame分布。否则,获得64位分配。

© www.soinside.com 2019 - 2024. All rights reserved.