Python无法在与其可以找到的其他子模块相同的目录中找到子模块

时间:2015-03-24 16:48:42

标签: python import module

我有这样的目录结构:

cops_and_robots/
    __init__.py
    robo_tools/
        __init__.py
        fusion/
            __init__.py
            camera.py
            fusion_engine.py
            gaussian_mixture_model.py
            human.py
            particle_filter.py
            sensor.py
            softmax.py

虽然我可以轻松导入sensor.py,但我根本无法导入softmax.py - 这是python无法识别的一个模块。

使用pkgutil检查它会产生以下结果:

import pkgutil
print([name for _, name, _ in pkgutil.walk_packages(['cops_and_robots/robo_tools/fusion']) ])

这是输出:

['camera', 'fusion_engine', 'gaussian_mixture_model', 'human', 'particle_filter', 'sensor']

为什么一个单独的子模块不被识别?我可以提供哪些其他信息来帮助调试?

1 个答案:

答案 0 :(得分:1)

愚蠢的错误,但如果其他人有类似的问题,我会保留这个:

我在桌面上创建了cops_and_robots目录的备份。 Python试图从本地备份导入,该备份不包含softmax.py文件,而不是导入cops_and_robots上的PYTHONPATH目录。