尝试使用Python 2.7.2在64位Mac 10.6计算机上安装pygame 1.9.1(32位)时的ImportError

时间:2012-01-01 15:18:22

标签: python osx-snow-leopard 32bit-64bit pygame

***更新:以下是我遇到的错误:

>>> import pygame

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import pygame
  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

>>> arch -i386 /usr/bin/python2.7

SyntaxError: invalid syntax

>>> arch -i386 python2.7

SyntaxError: invalid syntax

>>> arch -i386 /usr/local/bin/python2.7

SyntaxError: invalid syntax

>>> arch -i386 python

SyntaxError: invalid syntax

如果其中一些是我应该进入其他地方的Unix命令,请告诉我。

我正在尝试使用Python 2.7.2在64位Mac 10.6机器上安装pygame 1.9.1(32位)(我也在同一台机器上安装了Python 3.2)。我使用从网站下载的Python版本,而不是预装的版本。我尝试了以下解决方案(从这里:How do I force Python to be 32-bit on Snow Leopard and other 32-bit/64-bit questions),但它们对我不起作用:

export VERSIONER_PYTHON_PREFER_32_BIT=yes
arch -i386 /usr/bin/python2.6

(我也试过重命名最后一个字符串python2.7而只是python)

我已经在Python 2.7.2 shell中输入了所有这些'解决方案'。如果您有任何其他想法,请告诉我,并非常感谢您的帮助。如果您能解释如何详细实施解决方案以及解决方案的作用,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

正如您所链接答案的评论中所述,解决方案1仅适用于Apple提供的Pythons,而不适用于从其他地方安装的Pythons。从/usr/bin访问Apple安装的Pythons;通常,从python.org或其他地方安装的Pythons只能python2.7(无/usr/bin)或/usr/local/bin/python2.7。使用其中一个路径尝试解决方案2,即:

arch -i386 python2.7