2012-11-02 91 views
0

我试图用eclipse/pydev为irc bot supybot编写一些插件。 Pydev给我提供了关于supybot-modules/packages上的未解析导入的错误(例如,将supybot.utils导入为utils),但在e上工作正常。 G。 “from supybot.commands import *”。所以我想我正确地设置了dydev,因为它找到了想要的模块。这个问题必须在pydev/eclipse中,因为bot的工作正确,在eric5中也没有错误。“导入为”导致未解决的导入错误,“从..导入”不

删除解释器并设置它并没有帮助。任何其他想法如何解决这个问题?系统:Arch Linux,Eclipse Juno,PyDev 2.7.1,想要(并设置)python解释器是2.7,supybot安装在Python 2.7的站点包中。

编辑:只是注意到:PyDev不会将“from ... import *”标记为错误,但如果我使用从那里导入的函数,则会在该函数中出现错误。

代码示例:第一行

[...] 
import supybot.utils as utils 
from supybot.commands import * 
[...] 
wunsch = wrap(wunsch, ['text', 'now']) 
[...] 

错误:未解决进口:utils的
下联得到没有错误,也没有警告的3号线
错误:未定义的变量:包
但“包装”是在supybot.commands中声明的函数

+0

请包括一些代码示例,并复制/粘贴您收到的实际错误。 – titanofold

回答

0

运行import supybot; print supybot.__path__以获取supybot包的路径。 PyDev可能导入了错误的文件(例如,如果您在工作区中使用名为supybot的文件夹)。

+0

感谢您的回答。我在该eclipse工作区内创建了一个新文件,只添加了 'import supybot; print supybot; 将supybot.utils导入为utils; print utils .__ path__' 这两个导入语句都被标记为未解析(左侧和右侧侧边栏中的红色标记)。但是如果我执行它,一切都按预期工作,这些修改是正确的: '['/usr/lib/python2.7/site-packages/supybot'] ['/usr/lib/python2.7/site- packages/supybot/utils'] ' –

+0

根据你最初的说法,第一个导入已经解决了,所以它应该有一个'__path__'。 –

+0

它会打印正确的路径,但会将导入标记为未在编辑器中解析。 –