我对Python非常新(刚开始阅读 Learn Python the Hard Way......),并且不明白为什么会出现这种臭名昭著的导入错误。我看到了很多其他的导入错误帖子,但没有一个与我的相同(至少我没有找到相同的帖子)。
我有一个叫做 ex48 (D:\LearnPython\projects\ex48)
的项目目录,在它里面有一个也叫做 ex48 的 子文件夹,例如 D:\LearnPython\projects\ex48\ex48
(这样命名目录是不好的惯例吗?)。在其中有一个 ex48.py
文件,其中定义了一个非常简单的类,称为类 XXXX
。我有一个包含一些简单单元测试的 ex48_test.py
文件;在这个测试文件中,如果我执行 from ex48.ex48 import XXXX
,则当 ex48.py
文件位于子文件夹(D:\LearnPython\projects\ex48\ex48
)中时,一切正常。
现在我不明白的是,为什么如果我将 ex48.py
放在主项目文件夹中,例如 (D:\LearnPython\projects\ex48
) 并使用 from ex48 import XXXX
导入,它会给我一个 Import Error: cannot import name XXXX
。
顺便说一句,测试文件(ex48_test.py)位于 D:\LearnPython\projects\ex48\tests
,我正在使用 nose
包运行测试。
__init__.py
文件吗? - Anand S Kumar