【发布时间】:2013-09-09 07:13:46
【问题描述】:
我有一个库和测试的目录结构,概括如下。我在所有 lib 和 test 目录中都有 __init__.py 文件,但是 testcases/Ethernet 中的所有测试都出现错误“E ImportError: No module named lib”,其他目录中的所有测试都可以正常工作。所有测试中的第一个导入完全相同“from lib import Selftest”,但在 testcase/Ethernet 目录 dir 中的所有测试中,这是问题所在。
我想知道一个目录怎么会出现这个问题,而其他所有目录都没有,但它们的设置完全相同。
干杯
硅
lib/
lib/plugins
lib/boards
lib/ethernet
testcases/Plugins
testcases/Boards
testcases/Ethernet
【问题讨论】:
-
首先想到的是您没有正确导入
lib,因为您的测试是从testcases目录运行的。您是否尝试过sys.path.append('../'),或更改工作目录(尽管第二个选项可能会破坏测试)? -
我从包含 lib 和测试用例的父目录运行所有测试。它不会解释为什么只有一个目录会出现问题。最后我确实将问题追溯到子目录的路径名中的“-”,并且为了完整性,我已经回答了这个问题。