Python 3.2在Mac上使用Pygame - 导入错误

3

我一直在尝试在我的运行Snow Leopard的MacBook Pro上安装pygame模块,我运行的Python版本是3.2。

我一直遵循这里的说明从源代码构建和安装模块。但在构建时,我多次收到以下警告:

引用:

文件是为i386构建的,而不是链接的架构(x86_64)

当我运行Python IDLE时,我能看到pygame模块列在可用模块中。

但当我尝试导入该模块时,我收到以下消息:

引用:

import pygame Traceback (most recent call last): File "", line 1, in import pygame File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/init.py", line 95, in from pygame.base import * ImportError: 动态模块未定义init函数(PyInit_base)

我认为这是某种链接问题,但我不知道如何解决它...非常感谢任何想法,因为我没有任何编程背景。

我刚刚尝试了Michael的答案,但收到了以下新错误:

import pygame Traceback (most recent call last): File "", line 1, in import pygame File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/init.py", line 95, in from pygame.base import * ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/base.so, 2): 符号未找到:_PyCObject_AsVoidPtr 参考自:/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/base.so 预期在:平面命名空间 在/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/base.so中

有什么想法吗?

2个回答

2

巴瓦佐斯,你的电脑很棒。然而你所拥有的使用说明(约于2009年)没有提到64位架构(或32位和64位通用构建和库),而这现在是开发人员必须关心的问题。

如果我遇到这个问题,我的第一步尝试是更改保罗·巴里的指令单中的“第6步”(你在问题中链接的那个)为:

export CC='/usr/bin/gcc-4.2' CFLAGS='-isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64'

(如果不清楚,我在第6步中添加的内容是-arch x86_64
如果这确实是解决方案,请给那份指令文件的作者发送电子邮件,告诉他更新PDF文件以适用于2012年。他可能会感激您的支持。我希望这个答案能帮助到你!

很遗憾,目前还没有成功...请查看我编辑后的问题,并查看您所建议的结果。感谢您的帮助。 - Barvazos

0

谢谢,我对Homebrew不是很熟悉,但我会尝试一下。我可以问一下安装是针对哪个版本的Python进行的吗? - Barvazos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接