我在opencv项目上运行pylint,我在VS代码中收到许多关于成员不存在的pylint错误。
示例代码:
import cv2
cv2.imshow(....)
获得的错误:
但是,代码运行正常,没有任何错误。
版本:pylint 1.8.1,astroid 1.6.0
答案 0 :(得分:31)
这是来自pylint。您可以使用以下命令在项目的根目录中生成pylint配置文件: (如果您在同一回购中的团队中或在不同的计算机上工作,我会发现这很有帮助)
pylint --generate-rcfile > .pylintrc
在生成的.pylintrc文件的开头,您将看到
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=
添加cv2,以便最终获得
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=cv2
保存文件。 棉绒错误应该会消失。
答案 1 :(得分:20)
完成,对我有用
注意:请确保选择“首选项:打开设置(JSON)”,而不是“首选项:打开默认设置(JSON)”
设置文件如下
{
"workbench.iconTheme": "vscode-icons",
"python.dataScience.sendSelectionToInteractiveWindow": true,
"kite.showWelcomeNotificationOnStartup": false,
"python.dataScience.askForKernelRestart": false,
"python.dataScience.jupyterServerURI": "local",
"python.pythonPath": "/usr/bin/python3",
"workbench.colorTheme": "Monokai",
"vsicons.dontShowNewVersionMessage": true,
"python.linting.pylintArgs": ["--generate-members"] }
答案 2 :(得分:13)
尝试像这样导入cv2:from cv2 import cv2
。
答案 3 :(得分:8)
答案 4 :(得分:3)
我不必像这里的大多数答案一样更改 pylint Jason 文件中的任何内容我的解决方案是将导入语句更改为下面的形式
from cv2 import cv2
最终可以使用 cv2 成员!
答案 5 :(得分:2)
此处是MS V代码中settings.json文件的代码段
"python.linting.pylintArgs":["--extension-pkg-whitelist=cv2"]
答案 6 :(得分:0)
我在vscode的settings.json中使用了以下配置设置,它帮助我避免了pylint不必要的标记,并且还获得了cv2工作的智能感知, 它不起作用,请尝试从C:\ Anaconda3 \ envs \ demo1 \ Lib \ site-packages文件夹中卸载并删除cv2软件包,然后重新安装opencv-python软件包
X = [['Male', 1], ['Female', 3], ['Female', 2]]
preprocessor.fit_transform(X)
Out[6]:
array([[-1.22474487, 0. , 1. ],
[ 1.22474487, 1. , 0. ],
[ 0. , 1. , 0. ]])
preprocessor.named_transformers_['cat'].named_steps['onehot'].categories_
Out[7]: [array(['Female', 'Male'], dtype=object)]