我在datamodel /目录中有很多数据模型,所以我不想一个接一个地导入它们,所以我这样做了:
from datamodel import * # pylint:disable=unused-wildcard-import
然后我继续:
datamodel_file.DataModelClass(db_server)
我在VS Code中遇到以下错误:
Undefined variable 'datamodel_file' (pylint(undefined-variable)[22,27] Undefined variable: 'datamodel_file' (Python(undefined-variable)[22,27]
与此有关的一些问题:
datamodel_file.DataModelClass(db_server) # pylint:disable=undefined-variable
这具有禁用来自pylint的错误的效果,但是来自Python的其他错误仍然存在。我应该如何解决此错误?
答案 0 :(得分:1)
不建议在REPL之外使用import *
,因为在这种情况下,您无法通过内省代码来分辨名称的名称。 datamodel
可能以Pylint或语言服务器无法识别的某种时髦方式指定datamodel_file
。
对于这两个linter警告,这是因为您同时运行两个工具:Pylint和提供基本棉绒的Python语言服务器。如果要禁用一个Python语言服务器,请参阅docs on its settings。
但是解决此问题的最佳方法就是不使用import *
。进行import datamodel
,然后使用datamodel.datamodel_file
(或执行类似import datamodel as dm; dm.datamodel_file
的操作)。或者,您可以使用from datamodel import datamodel_file
。