在64位Mac 10.6上用Python 2.7.2安装pygame 1.9.1(32位)时出现ImportError

-2 投票
1 回答
1275 浏览
提问于 2025-04-17 09:21

***更新:我遇到的错误如下:

>>> 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命令,请告诉我。

我正在尝试在64位的Mac 10.6机器上安装pygame 1.9.1(32位),使用的是Python 2.7.2(我同一台机器上还安装了Python 3.2)。我使用的是从网站上下载的Python版本,而不是预装的版本。我尝试了以下解决方案(来自这里:如何在Snow Leopard和其他32位/64位问题上强制Python为32位),但对我来说都没有用:

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

(我还尝试过将最后的字符串重命名为python2.7和just python)

我在Python 2.7.2的命令行中输入了所有这些“解决方案”。如果你有其他想法,请告诉我,非常感谢你的帮助。如果你能详细解释一下如何实施这个解决方案以及这个解决方案的作用,我会很感激。

1 个回答

2

正如你提到的答案评论中所说,方案1只适用于苹果自带的Python,而不适用于其他地方安装的Python。苹果自带的Python可以通过 /usr/bin 这个路径找到;而从 python.org 或其他地方安装的Python,通常可以直接用 python2.7 来访问(不需要 /usr/bin),或者可能在 /usr/local/bin/python2.7 这个路径下。你可以尝试方案2,使用这些路径之一,比如:

arch -i386 python2.7

撰写回答