PyDev 导入的错误
我用了几个月的PyDev/Eclipse,遇到的导入问题总是一样:PyDev会把一个导入的地方标红,并说未解决的导入 xxx;在 yyy 找到
。当我点击yyy
时,Eclipse会找到并打开这个模块的实现。(PyDev其实是在告诉我它找不到模块xxx,但又在同一条信息里说它能找到!)
模块xxx
在Eclipse的PYTHONPATH里。当我“探索”项目的解释器时,可以毫无问题地找到它。每次从Eclipse执行时,我没有遇到任何错误,运行得很好。
有时候,这个错误信息会持续好几天,然后突然消失。有时候则不会。我尝试过刷新项目,但没有任何效果。有时候在一个项目上工作得很好,可以使用自动补全,而在另一个项目上(用的是同一个解释器)却不行……
我就是搞不懂这是怎么回事?
到目前为止,我一直忽略这些问题,因为一切都能正常运行,但有时候在工作时看到红色的“错误”标记还是挺让人烦的。
你们有没有找到避免在PyDev中出现这些问题的方法?这是“正常”现象吗?有没有办法强制PyDev“刷新”?
谢谢。
参考资料:
- python 2.4.4(从源代码构建)
- PyDev v 1.6.0 2010071813
3 个回答
如果还有其他人遇到这个问题,但上面的回答没有解决你的困扰,记得检查一下你的脚本文件名,确保它和你想要导入的库的名字不一样。
你可以试着在设置里找到PYTHONPATH,路径是Preferences > Pydev > Interpreter - Python,然后选择自动配置你的解释器,接着手动选择你需要的库来更新PYTHONPATH。
不过,这个方法有点激进。通常情况下,做一个小改动(比如加个空格)然后保存文件就能解决问题。如果还是不行,你也可以尝试暂时删除出问题的文件里的导入语句,然后再重新添加上去。
这种情况可能是因为PyDev没有缓存新的模块。举个例子,我在新电脑上第一次设置PyDev/Eclipse,然后才安装了Django包。这就是为什么Django的导入被标记为未解决的原因。你可以通过以下步骤刷新它:在PyDev中选择“解释器 - Python”,然后找到“库”,点击“应用”。选择你想要“恢复”的解释器(他们本可以用更好的词),然后点击确定。这样PyDev就会重新解析所有已安装的模块。
我使用的是PyDev的夜间版本,但任何1.6.x版本应该都能正常工作。如果这样还不行,可以删除当前的解释器配置,然后重新创建一个新的。