2

我从源代码安装了具有 CUDA 支持的 OpenCV 4.1.2。没有问题。并创建了一个从 OpenCV 安装目录到我的 virtualenv 的符号链接

ln -s /usr/local/lib/python3.6/site-packages/cv2/python3.6/cv2.cpython-36m-aarch64-linux-gnu.so cv2.so

我在导入 cv2 时遇到问题

$ python
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
>>> 

我检查了站点包目录,我可以看到 cv2.so。我显然错过了一些东西。在我看来,这里的主要问题是我无法链接到我的 virtualenv,事实上我能够检查我的安装及其工作

 /usr/local/lib/python3.6/site-packages/cv2/python-3.6$ python
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>
4

1 回答 1

1

问题解决了一个非常非常小的错误,我更改了名称

cv2.cpython-36m-aarch64-linux-gnu.so to cv2.so

我意识到这是其中一个文件夹的问题,这将起到神奇的作用:

ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so

在 cv2 之后注意它的 python-3.6 而不是 python3.6

于 2020-04-18T19:51:12.777 回答