我不断收到 pylint 错误:
模块“cv2”没有“某物”成员
我的 cv2 模块不起作用。
我不知道为什么;据我所知我安装正确。我什至卸载并重新安装了大约20次。
当我打印出 python lib 中的模块时,会打印 cv2 ;其功能打印正确。我正在使用 python 3.6.6 并且没有安装其他版本的 python。
例如,此代码将打印:“图像是相同的”,无论我提供什么图像,因为 2 个图像将始终等于“无”。
import cv2
import numpy as np
image1 = cv2.imread("1.jpg")
image2 = cv2.imread("2.jpg")
difference = cv2.subtract(image1, image2)
result = not np.any(difference) #if difference is all zeros it will return False
if result is True:
print ("The images are the same")
else:
cv2.imwrite("result.jpg", difference)
print ("the images are different")
Run Code Online (Sandbox Code Playgroud)
有人知道发生了什么事吗?
如果您不想添加更多配置,请将此代码添加到您的配置文件中,而不是“白名单”。
{
"python.linting.pylintArgs": ["--generate-members"],
}
Run Code Online (Sandbox Code Playgroud)
相关问题:how-do-i-get-pylint-to-recognize-numpy-member
小智 5
我有同样的问题。我的设置是 Python 3.6.6 64 位 AMD 我的 IDE 是 Visual Studio Code 1.46.1
我的研究引导我访问https://answers.opencv.org/question/200869/e1101module-cv2-has-no-imread-member/。上面链接的页面上的评论之一表示将导入语句替换为以下格式之一:
from cv2 import cv2
Run Code Online (Sandbox Code Playgroud)
保存更改并允许重新加载 linter。中提琴!错误消失。
如果这有帮助,请标记为答案(我知道这个问题已经有一段时间被问到了)。
干杯。
如果您浏览该包,您将找到此目录
yourpythondir\Lib\site-packages\cv2
Run Code Online (Sandbox Code Playgroud)
cv2 目录不存在,因此它没有__init__.py. 导入包后,Linting 应该可以在 python 控制台中工作,但可能不能在文本编辑器中工作