【发布时间】:2019-06-21 02:45:40
【问题描述】:
你好 Python 程序员
我在单元测试期间遇到了一个奇怪的模块导入错误。无法找到根本原因。 这是我的目录结构的样子
Main_folder
|
|
Module_x
| ABC.py
|
|
Module_y
| DEF.py
|
|
test
| unit_tests
| test_ABC.py
在 test_ABC.py 我正在导入以下内容
from Module_x import ABC
我收到错误为“没有模块名称 Module_x”
我在每个文件夹中都创建了__init__.py 文件
如果我使用 DEF.py 中的同一行,我不会收到任何错误
如果您知道我为什么会遇到此问题,请提供帮助?
我正在使用 Python 3.5 Anaconda 发行版
谢谢
【问题讨论】:
-
工作目录是什么?
print(os.getcwd()) -
cwd是 main_folder -
尝试从
Main_folder运行测试,例如python test/unit_tests/test_ABC.py -
@JRajan 尝试过.. 但结果相同
-
然后需要在Python路径中添加工作目录,让Python知道还有其他模块需要加载。您可以使用链接的答案作为动态添加目录的指针stackoverflow.com/a/8663119/690576 或使用以下答案将其添加到全局 python 路径。
标签: python python-2.7 unit-testing python-unittest