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

时间:2011-10-15 05:22:08

标签: python macos osx-snow-leopard pygame python-2.7

我使用的是运行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位操作系统有关吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

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

import platform
platform.architecture()

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