在使用opencv-python模块的项目中,我将其从4.6.0.66版本更新到了4.7.0.68版本。下次运行程序时,出现了导入错误:
考虑到OpenCV 4.7是最近发布的版本,而且据我所知,
为了确定问题严格与opencv-python相关,我创建了一个干净的环境,安装了opencv-python 4.7,并尝试运行一个只有一行
ImportError: dlopen(path/to/my/virtualenv/lib/python3.9/site-packages/cv2/cv2.abi3.so, 2): Symbol not found: _VTRegisterSupplementalVideoDecoderIfAvailable
将opencv-python降级回4.6.0.66后,导入错误消失了,一切都恢复正常了。考虑到OpenCV 4.7是最近发布的版本,而且据我所知,
_VTRegisterSupplementalVideoDecoderIfAvailable
是macOS的一个函数,我猜测这是新版opencv-python的某种兼容性问题。在发生错误的机器上,我正在运行macOS Catalina(10.15.7)。为了确定问题严格与opencv-python相关,我创建了一个干净的环境,安装了opencv-python 4.7,并尝试运行一个只有一行
import cv2
的脚本。结果出现了相同的错误。
这个问题在另一个项目中表明可能需要升级我的操作系统。
我可以接受降级到4.6,但很想知道是否有其他解决导入错误的替代方案。
import cv2
的脚本失败,并出现相同的错误。 - Adam Richard