Pylint不同意文件导入

时间:2016-08-19 17:14:52

标签: python-2.7 pylint

参考How do I import a Python script from a sibling directory?,Pylint会在 E0401时出错:第6行无法导入

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)

1 个答案:

答案 0 :(得分:1)

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