为Mac OS X 10.6.8安装Pygame

时间:2011-11-26 02:12:36

标签: python macos

使用Python 2.7.2。当我尝试导入pygame时,我收到此错误消息:

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吗?

5 个答案:

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

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

您可以尝试从头开始重新安装或编译,但强制python以32位运行可能要容易得多。还有更多信息over here in this post

答案 2 :(得分:0)

我遇到了同样的问题。我有Python 2.7.2,OSX 10.6的安装版本。以下是我要解决的问题:

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

2)重新安装了Python 2.7.2,OSX 10.3的安装版本(我的pygame安装文件标记为OSX 10.3,这促使我朝这个方向发展)

3)重新安装了pygame

现在pygame导入而不会抛出错误。

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

我建议使用一个不错的Python IDE,比如PyCharm。

我已经从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使用这种方法......