3

Edit3:附加信息:我能够在 Windows 上运行 Eclipse/pygame 组合......只是在 MacOSX 上没有。


Edit2:从 shell 编译也可以。现在只是 Eclipse :) 我在 Eclipse 中尝试过的内容:

对于解释器,我使用自动配置,它建议/usr/bin/python作为解释器。然后对于 PYTHONPATH,他建议了所有默认的东西,然后我添加/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages了其余的东西。我仍然在代码中有未解决的包“语法”错误,但是在编译时他抱怨的唯一错误是没有合适的 64 位架构。

../Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)


编辑:我现在已经能够import pygame在 IDLE 中初始化 pygame。在 Eclipse 中,我将 pygame 路径添加到 PYTHONPATH 但 Eclipse 抱怨架构。


我想将 pygame 与 Eclipse、Pydev 和 Python 2.7 结合使用。

首先我下载了​​ Python 2.7.3 并安装了它。为了能够在 IDE 中工作,我在 Eclipse 上安装了 Pydev。一切正常,我可以在 Eclipse 中使用 Pydev 和我测试的程序运行没有问题。

然后我继续下载 pygame 并安装它。(pygame下载

现在当我尝试:

import pygame
pygame.init()

Eclipse 告诉我:unresolved import: pygame当我尝试编译时,我收到以下消息:

Traceback (most recent call last):
File "/Users/name/Documents/workspace/test_unit/main.py", line 6, in <module>
import pygame
ImportError: No module named pygame

此外,当我启动 IDLE 应用程序并尝试在那里导入 pygame 时,我收到以下错误:

Traceback (most recent call last):
File "<pyshell#1>", 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

但是,如果我open Module...通过 IDLE 使用然后打开 pygame,则找到该模块。我错过了什么?

4

3 回答 3

4

好的,我找到了如何让它工作的解决方案。关键问题是 Eclipse 选择了“错误”的解释器。Eclipse 选择适用于普通的 python 东西,但是当尝试编译 pygame 东西时它变得复杂并且我得到架构错误。

所以我做了什么:

  1. 在此处获取 Eclipse Classic 3.7.2 32 位并安装它。
  2. 为 Eclipse 安装 pydev(此处的说明)
  3. 获取适用于 Mac OS X 10.3 的 Python 2.7.3(此处)并安装它
  4. 获取 Python 2.7 的 Pygame 1.9.1 32 位(此处)并安装它

现在到适当的解释器。去Eclipse->Settings->PyDev->Interpreter - Python那里创建一个New...解释器。对我有用的一个位于/Library/Frameworks/Python.framework/Versions/2.7/bin. 只需选择python将链接到正确的别名的别名。

现在确保你的 pygame 在你的 PYTHONPATH 中。为此,只需New Folder在当前菜单的下半部分添加 a 并导航到您的 pygame 路径(默认为/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

于 2012-04-25T16:19:46.580 回答
0

在阅读了您的三个编辑后,似乎存在架构问题。由于 PyGame 不能在 64 位平台上运行,所以本例需要选择 32 位的 Python 解释器。

转到Eclipse->Preferences->PyDev->Interpreters->Python Interpreter并添加一个新的 32 位 python 解释器。32 位 python 解释器的路径很可能与您通常的 python 解释器相同,只是文件名为“python2.7-32”而不是“python2.7”(如果 python 版本是 2.7)。所以,对我来说是:"/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-32"

设置完成后,您可以将其设为默认解释器,也可以 Project->Properties->PyDev - Interpreter/Grammar在使用 PyGame 时从中选择。

于 2015-04-12T14:08:16.393 回答
0

为 Mac OS X 10.6.8 安装 Pygame

读一读,看起来您可能正在尝试混合和匹配 32/64 位库。这可能需要您安装正确版本的 python 以匹配您的开发环境或 pygame 以匹配您的开发环境。

我之前在需要 32 位库的 64 位系统上遇到过这个问题。修复是强制 python 在 32 位模式下运行。

强制其进入 32 位模式的修复程序包含在该页面上

别名 python='arch -i386 /usr/bin/python[版本]'

其中版本当然是你的版本。

如果您在 Windows 上,我相信您也可以做类似的事情,尽管我不确定如何在 Windows 中为命令起别名。

于 2012-04-24T22:17:17.447 回答