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