2011-11-26 126 views
15

使用Python 2.7.2。当我尝试导入pygame时,我收到以下错误消息:安装Pygame for Mac OS X 10.6.8

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    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 

我不完全确定这是什么意思。我应该自己编译pygame吗?

回答

3

线索在最后一行no matching architecture in universal wrapper。很可能您在64位系统上使用预编译的32位二进制文​​件。

你可以尝试从头开始重新安装或编译,但只是强制python运行在32位上可能会容易得多。更多信息over here in this post

+0

好吧,我改到32位,但现在它说,该模块pygame的不存在。 – user1064913

+0

您是否尝试在更改架构后重新安装PyGame?此外,您可能已经知道这一点,但通过检查>>> help('modules')'确保您使用了正确的模块名称和大小写。 –

+0

是的,我试过重新安装它。它不会显示在模块列表中。我认为python在终端中退出python后会变回64位。有没有办法将其永久更改为32位模式? – user1064913

0

我遇到了同样的问题。我有Python 2.7.2,OSX 10.6的安装版本。这是我做了什么来解决它:

1)从应用程序文件夹和从/Library/Frameworks/Python.framework(我刚刚删除2.7.2,只剩下3.2 3.212)删除我目前的Python安装

2)重新安装的Python 2.7.2,为OSX 10.3安装版(我pygame的安装文件被标记为OSX 10.3,这促使我在这个方向上)

3)重新安装pygame的

现在pygame的进口不会抛出错误。

+0

呃,当然了。你下载的Python版本是32位,所以为什么它不工作?这不是一个解决方案,而是“前进一步 - 后退两步”解决方法... – cseder

0

如果你不想搞砸系统文件,那么最简单的方法是重新安装Python 2.7.2,但只有32位版本。得到它here

包含64/32位的dmg导致了这个混乱。

+0

下载的安装程序失败,错误“没有找到要安装的软件” –

32

Python的2.7.3的.dmg的Mac OS安装程序安装64位和32位二进制文​​件中:

/Library/Frameworks/Python.framework/Versions/2.7/bin/

有一个该文件夹中称为python2.7-32 32位二进制。

在终端使用它只需键入:$ python2.7-32而不是python

要使用它在IDLE只需重命名的64位二进制python2.7喜欢的东西python2.7-64然后重命名python2.7-32' to python2.7`和你启动下一次IDLE或终端将使用32位二进制。完成后请将其更改。

您还可以强制在32位模式下启动IDLE从终端:

$ arch -i386 /Library/Frameworks/Python.framework/Versions/2.7/bin/idle2.7 -n

您可以创建一个shell脚本,Automator的应用,使其更容易推出。

+1

运行python2.7-32修复了我的问题 – benlong

+2

Woo Hoo ! 4岁,仍然工作:) –

+1

令人难以置信。 5年...和魔术般的作品! –

0

我推荐的是使用像PyCharm一样体面的Python IDE。

我已经在python.org中同时安装了3.3(x64),3.3(x86)和2.7.6两种体系结构。

我所要做的就是为每个设置一个解释器配置,我可以按项目级别选择一个项目。

对我来说,这是平滑Python开发的明确方式,对比Python Mangling和手动解决方法。

PyCharm IDE的社区版本甚至免费,就像啤酒一样!去结束它在JetBrains Site

它使用一个微风和相同的行为在这两个Windows,Linux和OS X. 它也作为一个包管理器,这样你就可以从IDE直接安装不同的组件,然后运行控制台会话使用不同的配置。它也可以让你轻松设置virtualenv。

够宣传了!你可以自己尝试一下。

是的,我得到了使用这种方法pygame的工作......