我正在使用Linux Mint 17(Ubuntu 14.04),并且已经在我的Windows PC上运行了Eclipse中的pygame 1.9.2。现在我也将它安装在这台机器上,但它不起作用。因此python3-pygame没有apt-get我从https://bitbucket.org/pygame/pygame下载了源代码并构建并安装它而没有出错。
在命令行上运行以下命令时,我没有收到任何错误:
import pygame
pygame.init()
如果我在Eclipse PyDev项目中尝试相同的操作,我会收到错误:"来自import的未定义变量:init"。
首先我认为我的解释器设置不正确,但安装了pygame的路径被添加到库中(/usr/local/lib/python3.4/dist-packages)。我意识到,对于Python2.7,pygame安装在/usr/lib/pytho2.7/dist-packages中,但是我的机器上的python3.4不存在这个目录。
由于它似乎在命令行上工作,它必须与Eclipse或Pydev设置有关,对吧?
更新: 好的,现在事情变得非常混乱。我发现如果我运行项目,pygame确实也在eclipse中工作,但只给我这些错误消息,例如。 pygame.init(),pygame.QUIT,pygame.K_ESCAPE,pygame.KEYDOWN。我觉得很奇怪,因为pygame.time.Clock()或pygame.display.set_caption()不会给出错误消息。所以我只从导入错误中获取未定义的变量(另请参见此处How do I fix PyDev "Undefined variable from import" errors?)。
答案 0 :(得分:2)
使用sudo pip3 install pygame
,假设您安装了python3和setuptools,pip3应该可以正常工作。
您可以使用sudo apt-get install python3-pip
安装pip3,然后使用sudo pip3 install package_name
获得您想要的任何内容。
答案 1 :(得分:1)
唯一对我有用的东西(我花了两天时间才发现问题是什么)是添加" pygame" to Interpreter的强制内置函数(Window - > Preferences - > PyDev - > Interpreter - > Python Interpreter - > Forced Builtins选项卡 - > New - > pygame 。
这只是一种解决方法,但至少我现在摆脱了这些错误,自动完成仍然有效。到目前为止,我还没有找到对我有用的其他解决方案。
答案 2 :(得分:0)
对我来说,导入*
解决了问题。
而不是:
import pygame
试试这个:
from pygame import *
现在,而不是通过说init()
只是使用pygame.init()
来调用init()
此外,您不必在大多数情况下使用pygame.
明确调用。
注意:在Eclipse中玩这个之后我最终不得不同时使用它们:
import pygame
from pygame import *
无论出于何种原因,我的某个功能只有pygame.even.get()
才有效
但我的代码测试不需要使用pygame.
(我确信有一个非常好的理由,但我仍然是python的新手)