我有一个简单的目录结构,如下所示:
MyProject
--main.py
--lib #that's a directory/package
----__init__.py
----view.py
----common_lib.py
----other irrelevant modules...
在 main.py 中:
from lib import view
导致以下错误:
ImportError: cannot import name view
相反,我会这样写:
from lib.view import *
此导入成功通过,但下一次失败发生在 view.py 中,其中:
from common_lib import Comments, Locations, ScreenData, ProgressSignal
原因:
ImportError: No module named 'common_lib'
而且从目录结构来看,common_lib.py和view.py在同一个目录下,怎么会找不到呢?为什么'from x import y'不起作用,而'from xy import *'起作用?'__init__.py
' 是完全空的顺便说一句。我正在使用 Python 3.3 32 位。
更烦人的是,同样的程序在两天前运行。我在 IDLE 中测试了一些代码,当我认为代码已经准备好包含在项目中时,将其粘贴到 PyDev 中,我被这个错误震惊了。我没有改变我的目录或模块。
此外,更奇怪的是,运行 view.py 和 common_lib.py 作为独立(没有被导入)运行得很好。如果确实存在任何问题,它应该会产生错误。
谢谢。任何建议都将受到高度赞赏。