Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法配置pylint(在vs代码中)来识别通过通配符导入的方法?_Python_Visual Studio Code_Pylint - Fatal编程技术网

Python 有没有办法配置pylint(在vs代码中)来识别通过通配符导入的方法?

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选项,这些选项是通过控制台命令生

我希望使用linter(特别是pylint)来调试代码,但接受通配符导入

目前,它突出显示了代码中的一个错误,即导入gurobipy包:

未定义变量“模型”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。通过快速的谷歌搜索,我找到了这个页面:[。我相信这就是你要找的。