相关问题

环境:在vscode中使用python3.7,调用第三方库vtk-8.2.0生成的包
错误:出现no moduleno memberundefined variable错误,但实际代码能够正常运行
vtk代码正常运行,pylint报错no module、no member、undefined variable
vtk代码正常运行,pylint报错no module、no member、undefined variable


解决方案

添加pylint附加项--ignored-modules=vtk,可解决no memberno module报错
vtk代码正常运行,pylint报错no module、no member、undefined variable
开头改为from vtk.util.colors import light_grey,可解决后续undefined variable报错
vtk代码正常运行,pylint报错no module、no member、undefined variable


具体原因

github.com/PyCQA/pylint/issues/1524
vtk代码正常运行,pylint报错no module、no member、undefined variable
大意是说有可能是以下两种原因:

  1. 该模组是c拓展,pylint读不到源码,也不知道模组有哪些成员
  2. 该模组采用动态特性比如globals().update来更新文件,pylint无法分析这种动态成员

可用--ignored-modules=vtk--generated-members=vtk.*--extension-pkg-whitelist=vtk等类似的方式来禁用相关模组的静态代码检查


PS

虽然解决了pylint报错问题,但仍然无法做到自动补全等智能操作,治标不治本

归根到底还是python的语言特性,像c++这种有头文件的可能就不会出现这种情况吧

相关文章:

  • 2021-11-26
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-01-20
  • 2021-12-21
猜你喜欢
  • 2022-01-23
  • 2021-11-21
  • 2022-12-23
  • 2022-02-07
  • 2021-05-07
  • 2022-01-02
相关资源
相似解决方案