【发布时间】:2019-01-12 12:51:19
【问题描述】:
我在一个 opencv 项目上运行 pylint,我在 VS 代码中收到许多关于成员不存在的 pylint 错误。
示例代码:
import cv2
cv2.imshow(....)
得到的错误:
但是,代码运行正常,没有任何错误。
版本:pylint 1.8.1,astroid 1.6.0
【问题讨论】:
标签: opencv visual-studio-code pylint
我在一个 opencv 项目上运行 pylint,我在 VS 代码中收到许多关于成员不存在的 pylint 错误。
示例代码:
import cv2
cv2.imshow(....)
得到的错误:
但是,代码运行正常,没有任何错误。
版本:pylint 1.8.1,astroid 1.6.0
【问题讨论】:
标签: opencv visual-studio-code pylint
这是来自 pylint。您可以使用以下命令在项目的根目录中生成 pylint 配置文件: (如果您在团队中工作或在来自同一 repo 的不同计算机上工作,我发现这会很有帮助)
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
保存文件。 lint 错误应该会消失。
【讨论】:
我不必像这里的大多数答案一样更改 pylint Jason 文件中的任何内容我的解决方案是将导入语句更改为以下形式
from cv2 import cv2
终于可以使用cv2成员了!
【讨论】:
尝试像这样导入 cv2:from cv2 import cv2。
【讨论】:
no-member 更改为 c-extension-no-member 并建议将模块添加到“extension-pkg-allow-list”作为回答 here跨度>
完成,它对我有用
注意:确保选择“首选项:打开设置 (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"] }
【讨论】:
pylint,这就是为什么你的 lints 正在消失(全部消失!)。通过发出pylint --generate-members 或检查 VS Code 的输出 - Python 窗口来检查自己。我不敢相信这已被投票超过 40 次。
我在 vscode 的 settings.json 中使用了以下配置设置,它帮助我避免了 pylint 不必要的标志,并且还获得了 cv2 工作的智能感知, 它不起作用尝试从 C:\Anaconda3\envs\demo1\Lib\site-packages 文件夹中卸载和删除 cv2 包,然后重新安装 opencv-python 包
{
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.linting.pylintArgs": [
"--extension-pkg-whitelist=cv2"
]
}
【讨论】:
这里是 MS V 代码中 settings.json 文件的代码 sn-p
"python.linting.pylintArgs":["--extension-pkg-whitelist=cv2"]
【讨论】:
【讨论】: