pylint“从导入的未解析变量”模块级变量引用到函数

时间:2017-10-27 18:32:58

标签: python eclipse pydev pylint

我有代码,其变量分配给函数,如下例所示。  代码可以工作,但是当我尝试在另一个模块中使用foo.x时,我遇到了pylint错误。如果我在没有函数引用的情况下定义模块变量,如下面的变量y,则不会出现pylint错误。

有什么办法让pylint识别module1.foo.x?

in module1:
    def foo():
       foo.x = 1

    foo.x = 0
    y = 0

in module2:
   import module1
   p = module1.foo.x  # generates a "unresolved variable from import" for x
   p = module1.y      # no pylint errors generated for y

2 个答案:

答案 0 :(得分:0)

窗口 - >偏好 - > PyDev - >编辑 - >代码分析 - >未定义 - >来自导入的未定义变量 - >忽略

然后尝试关闭并重新打开eclipse。

希望它有所帮助。

答案 1 :(得分:0)

我认为PyLint似乎没有认识到这种模式(向方法添加变量)...你可以尝试向他们报告问题,看看他们是否愿意修复它(https://github.com/PyCQA/pylint/issues

所以,一个解决方法是禁用该行中的检查(在PyDev中你可以在该行中执行Ctrl+1并且它将为你提供一个选项来添加注释以忽略该行中的PyLint错误)。