Python 有没有办法配置pylint(在vs代码中)来识别通过通配符导入的方法?
我希望使用linter(特别是pylint)来调试代码,但接受通配符导入 目前,它突出显示了代码中的一个错误,即导入gurobipy包: 未定义变量“模型”pylint(未定义变量) 提供的代码片段突出显示了此问题:Python 有没有办法配置pylint(在vs代码中)来识别通过通配符导入的方法?,python,visual-studio-code,pylint,Python,Visual Studio Code,Pylint,我希望使用linter(特别是pylint)来调试代码,但接受通配符导入 目前,它突出显示了代码中的一个错误,即导入gurobipy包: 未定义变量“模型”pylint(未定义变量) 提供的代码片段突出显示了此问题: from gurobipy import * m = Model("mip1") # Pylint shows error in this line 我想知道pylint是否不能处理通配符导入 我已经检查了.pylintrc文件中的pylint选项,这些选项是通过控制台命令生
from gurobipy import *
m = Model("mip1") # Pylint shows error in this line
我想知道pylint是否不能处理通配符导入
我已经检查了.pylintrc文件中的pylint选项,这些选项是通过控制台命令生成的,但没有用
是的,我知道这是一种糟糕的编码实践,但我不知道我最终会使用多少种包方法,我宁愿避免一直编写“package.method”
在vs代码选项中启用jedi确实允许intellisense推断包对象,但高亮显示错误仍然存在
如果不可行,我很乐意推荐另一根棉绒。当然,最好只导入真正需要的东西,而不是导入所有东西,然后再导入大量未使用的物品。但对于个人脚本或项目以及实践目的来说,这不是一个大问题 因此,如果您只是想阻止Pylint显示该特定警告,只需将以下内容添加到settings.json中即可将其禁用:
“python.linting.pylintArgs”:[
“--禁用=通配符导入”
]
您可能想看看这个问题,它应该能够通过通配符导入检测模块,这取决于代码的结构/组织方式 下面是一个示例代码结构:
|- main.py
|- mymodules
|- __init__.py
|- calculator.py
main.py
from mymodules import *
print(get_sum(1, 2))
from .calculator import *
def get_sum(op_1, op_2):
return op_1 + op_2
mymodules/\uuuuu init\uuuuuu.py
from mymodules import *
print(get_sum(1, 2))
from .calculator import *
def get_sum(op_1, op_2):
return op_1 + op_2
mymodules/calculator.py
from mymodules import *
print(get_sum(1, 2))
from .calculator import *
def get_sum(op_1, op_2):
return op_1 + op_2
这只会导致通配符导入警告:
我仅有的pylint设置是禁用UseMillimChecker和缺少的docstring警告:
"python.linting.pylintArgs": [
"--disable=missing-docstring"
],
"python.linting.pylintUseMinimalCheckers": false,
我强烈建议不要习惯通配符导入,也不要找到隐藏过梁警告的解决方法。你被警告是有原因的。看见启动应用程序时的一个好做法是,开始将代码分组到具有类似功能的模块中,然后导入每个模块。Hi,João。通过快速的谷歌搜索,我找到了这个页面:[。我相信这就是你要找的。