在树莓派上安装OpenCV的问题



我有一个运行Raspian 10的树莓派。我使用本教程安装了OpenCV。这些步骤似乎都成功完成了,但是我在导入python模块时遇到了一些问题。当我使用Python 3.7.3时,我得到以下输出:

>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

这显然不起作用。然而,使用Python 2.7.16,它运行得很好:

>>> import cv2
>>> cv2.__version__
'4.6.0-dev'

知道为什么会这样吗?似乎OpenCV Python模块没有为Python 3全局安装。理想情况下,我希望能够在Python 3虚拟环境中使用它。

我确实有一个临时的解决办法。如果我将cd放入包含模块的构建目录中,我可以让它工作:

pi@raspberrypi:~ $ cd opencv/build/python_loader/
pi@raspberrypi:~/opencv/build/python_loader $ ls
cv2  setup.py
pi@raspberrypi:~/opencv/build/python_loader $ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.6.0-dev'

显然,这是不理想的。

我已经设法回答了我自己的问题。运行:

pi@raspberrypi:~/opencv/build $ pip3 install -e python_loader

从包含模块的文件夹安装包。这不是最优雅的解决方案,我仍然有兴趣看看是否有人知道为什么原来的方法不起作用。

希望对大家有所帮助。