这确实是一个微不足道的问题,但它让我发疯。
我使用 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
问题是,这会在 __init__.py 的 PyDev 编辑器窗口中生成一条“未解析的导入”消息,但它在控制台中有效,并且在我运行代码时也有效。
我唯一的猜测是代码分析器正在使用 src/mylib (而不仅仅是 src)的工作目录来解析导入,这根本没有帮助,因为使用这个库的任何人都不会这样做这个。
我认为我在这里所做的事情很常见,但 PyDev 不喜欢它。有没有办法更改代码分析器使用的工作目录?或者我做了其他不标准的事情?
最佳答案
我必须看一下 PyDev 源代码,但它的工作原理确实看起来很奇怪 在 Python 中(即:在包 mylib 中,您正在导入 mylib 包 再说一次,所以,在我看来,这将是一个循环导入——我相信正确的 这样做的方法应该是使用相对导入...即:“from . import mymod” 在这种情况下)。
无论如何,如果它在Python中工作,PyDev也应该识别它,所以,我会采取 看看它:)
关于python - 包 __init__ 中 PyDev 中 Unresolved 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422425/