包__init__中PyDev中未解析的导入

时间:2011-09-14 20:15:52

标签: python eclipse pydev

这真是一个微不足道的问题,但它让我发疯了。

我使用src文件夹选项创建了一个基本上默认的PyDev项目(PyDev 2.2.2,Eclipse 3.7.0),所以现在我有这样的东西:

mylib [project]
    src [folder]
        mylib [package]
            __init__.py
            mymod.py

所以现在我想在__init__中导入mymod,所以我的__init__.py看起来像这样:

import mylib.mymod

问题是,这会在PyDev编辑器窗口中为__init__.py生成一个“Unresolved import”消息,但它在控制台中有效,并且在我运行代码时它可以正常工作。

我唯一的猜测是代码分析器使用src / mylib的工作目录(而不仅仅是src)解析导入,这根本没有用,因为使用这个库的任何人都不会这样做此

我认为我在这里做的很常见,但PyDev并不喜欢它。有没有办法更改代码分析器使用的工作目录?或者我在做其他非标准的事情?

1 个答案:

答案 0 :(得分:0)

我必须看看PyDev源代码,但它确实有点奇怪 在Python中(即:在mylib包中你导入mylib包 再次,所以,在我看来它是一个循环导入 - 我相信是正确的 这样做的方式应该是使用相对导入......即:“from.import mymod” 在这种情况下)。

无论如何,如果它在Python中有效,PyDev也应该认识它,所以,我会接受 看看它:)