Pylint 不同意文件导入

Pylint disagrees with file import

参考 How do I import a Python script from a sibling directory?,Pylint 将在第 6 行出现 E0401:Unable to import 错误。

if __name__ == '__main__':
if __package__ is None:
    import sys
    from os import path
    sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
    from components.core import my_module
else:
    from ..components.core import my_module

这只是我们必须接受的东西,还是有严格的解决方案来纠正这个问题?

虽然有问题的文件是我的单元测试的一部分,对部署并不重要,但我希望一切都没有错误。

(pylint 1.6.4, Python 2.7.12)

如果您指的是导入 组件 ,那么这将不起作用,因为 pylint 不理解 sys.path 的修改。理解它们在理论上是可行的,但由于它是一个静态分析工具,它在它能做什么和应该做什么方面都有其局限性。为了帮助它,您可以尝试 运行 pylint 和 --init-hook="import sys; sys.path.append(path.dirname(path.dirname(path.abspath('your file'))))"