我在 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 的其他错误仍然存在。我应该如何解决这个错误?
import *
不鼓励在 REPL 之外使用,因为在这种情况下,您无法通过内省代码判断名称应该来自哪里。机会是以某种时髦的方式datamodel
指定的datamodel_file
,而 Pylint 或语言服务器无法弄清楚。
至于两个 linter 警告,那是因为您同时运行两个工具:Pylint 和提供基本 linting 的 Python 语言服务器。如果您想禁用 Python 语言服务器之一,请参阅有关其设置的文档。
但解决这个问题的最好方法就是不使用import *
. 要么做import datamodel
然后使用datamodel.datamodel_file
(或做类似的事情import datamodel as dm; dm.datamodel_file
)。或者你可以使用from datamodel import datamodel_file
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句