【问题标题】:Python import failure for one directory only仅一个目录的 Python 导入失败
【发布时间】: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 和测试用例的父目录运行所有测试。它不会解释为什么只有一个目录会出现问题。最后我确实将问题追溯到子目录的路径名中的“-”,并且为了完整性,我已经回答了这个问题。

标签: python import


【解决方案1】:

我终于将问题追溯到 testcases/Ethernet 目录下的另一个子目录,该目录的名称中有一个“-”。 PWR-AUX_Plugin。

将目录重命名为 PWR_AUX_Plugin 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2014-06-29
    • 2020-09-18
    • 2023-03-20
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多