【发布时间】:2026-02-07 18:35:02
【问题描述】:
我环顾四周,人们似乎有类似的问题,但没有人准确描述我的情况,对他们有用的解决方案似乎对我不起作用(或者根本没有问题的答案)。
使用pycharm,在安装opencv-python 和opencv-contrib-python 之后,我注意到import cv2 可以工作,但是当我尝试访问cv2.imread() 时,pycharm 抱怨找不到它。
于是我去了 cv2 init 文件,看起来是这样的:
import importlib
from .cv2 import *
from .data import *
# wildcard import above does not import "private" variables like __version__
# this makes them available
globals().update(importlib.import_module('cv2.cv2').__dict__)
Pycharm 在from .cv2 import * 行检测到未解析的引用,我想最后一行也会出现同样的问题 - 我尝试在 python 控制台中执行以下操作:
import cv2
print(__version__)
但我得到了一个 NameError,这似乎证实了我的怀疑。
正如我所写,我已经尝试安装 opencv-contrib-python 但这似乎没有任何作用,坦率地说我已经没有想法了。
注意事项: - 我在 Windows 10 x64 上。 - 我正在使用 Python 3.6 x64。 - 我在我的 Pycharm 项目上设置了一个虚拟环境。
【问题讨论】:
-
不应该是
print(cv2.__version__)吗? -
哎呀。菜鸟失误。我重试了正确的调用,它确实在控制台中工作,并且(在pycharm中)输入
cv2.确实列出了各种方法,例如cv2.imread,但在我的模块中它仍然不起作用并且cv2中的init文件仍然有一个未解决的参考。什么可能导致这种差异?
标签: python opencv package python-import cv2