我从源代码安装了具有 CUDA 支持的 OpenCV 4.1.2。没有问题。并创建了一个从 OpenCV 安装目录到我的 virtualenv 的符号链接(symbolic link)
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
>>>
最佳答案
问题解决了一个非常非常小的错误
我把名字从
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
关于opencv - 在 Jetson Nano 上安装 OpenCV 4.1.2 时出现问题。导入 cv2,没有名为 'cv2' 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282070/