Eclipse PyDev 现在将 Tkinter 的所有引用视为错误
我已经在Windows上用Eclipse和PyDev做我的Python Tkinter项目大约一个月了,之前一直没什么问题。我是这样启动我的一个模块(也就是我的图形界面)的:
from Tkinter import *
但是,自从我把Eclipse更新到3.6.1版本后,它对每一个调用Tkinter模块的地方(比如Frame()
、Label()
、Tk()
等等)都显示错误。我以为更新的时候出了什么问题,所以我卸载了Eclipse,重新下载了Eclipse 3.6.1 Classic,然后再安装一次。结果发现这导致我在安装PyDev时出现了一堆错误,于是我把它删了,换成了Eclipse 3.6.0 Classic,安装后又遇到了之前想解决的同样问题。
我搞不懂这里到底出了什么问题。突然之间,Eclipse怎么就不再识别我导入的Tkinter了呢?
有没有人能给点建议或者意见?我真的很想继续用Eclipse,我对它很满意,但我受不了它给我报大约200个错误。
3 个回答
你用的是哪个版本的Python?如果是3.1以上的版本,可以试试(注意是小写):
from tkinter import *
我发现像这样的问题,通常的解决办法是需要从Eclipse更新你的pythonpath。你可以看看我在类似问题上的回答。我觉得重新安装pydev和/或Eclipse通常能解决这个问题,因为这样做会重新配置pythonpath。
你真的不应该使用通配符导入。可以考虑用 from Tkinter import Frame, Label
或者 import Tkinter as tk
来代替。
现在说说你的问题:我也在用Eclipse Helios(版本3.6.0.v20100602)。你描述的问题明显是和PyDev有关,而不是Eclipse本身的问题。我刚刚试了一下同样的导入,没有出现错误信息。我的PyDev版本也能正确获取 Frame
的文档字符串。
我觉得解决办法就是安装一个更新的PyDev版本(这对很多bug来说都是个好办法^^)——把“http://pydev.org/nightly”加到更新站点,然后升级到最新版本。顺便说一下,我用的是1.6.3.20100922版本。如果这样还不行,你可以考虑把这个问题报告为bug。