从源代码成功构建 Opencv,但无法导入到 anaconda 中的 python
Built Opencv from source successfully, but can't import to python in anaconda
我想将 opencv 与 GPU 结合使用以加快速度。所以我遵循了一些关于如何从源代码构建 opencv 以及 CUDA 和 cudnn 的教程。
我跟着这个tutorial没有任何问题,直到他
import cv2
在他的终端
我的终端显示在python环境中找不到cv2。
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
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'
我找了原因,发现了一些端倪。
这个post说明他遇到了和我一样的问题
从使用 Cmake GUI 创建构建文件夹后 OpenCV.lsn 中没有 binding
文件夹开始
此外,我的 build/bin/release/opencv_version_win32.exe
的构建会话下没有 python2 或 python3,而是它们处于不可用会话中。
然而,我花了几个小时试图找到有效的解决方案,但仍然找不到任何可以帮助我的东西。所以我希望有人也遇到了这个问题,可以帮助我解决这个问题。
经过一番挖掘,我发现了一些非常有趣的东西。通过Whosebug、github和opencv官网看到很多关于缺少python解释器和相关库的建议。
所以我只是想尝试一下,发现基础 python 解释器中缺少我的 numpy,并在我尝试导入时显示以下错误numpy.
The error is the same as this post (I can't reproduce the error anymore, so I will link it for you to see)
In order to check this, you cannot just import numpy from base environment. You have to go to C:\{MY DIRECTORY}\anaconda3\python.exe
, click the file python.exe and try to import numpy
我以前从未注意到这一点,因为我总是在 Anaconda 创建的虚拟环境中工作,所以 numpy 已经在那里了。 (我不知道遇到这个问题的每个人是否总是这样,我不知道对于那些不使用 anaconda 的人来说这是否是相同的解决方案)
我所要做的就是找到我的 Anaconda 基础库的路径(在我的例子中是)
C:\{MY DIRECTORY}\anaconda3\Library\bin
复制路径并添加到系统PATH中。
之后,我再次重做 CMake 构建过程,一切正常!!!
希望这对遇到同样问题的其他人有所帮助。
我想将 opencv 与 GPU 结合使用以加快速度。所以我遵循了一些关于如何从源代码构建 opencv 以及 CUDA 和 cudnn 的教程。
我跟着这个tutorial没有任何问题,直到他
import cv2
在他的终端
我的终端显示在python环境中找不到cv2。
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
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'
我找了原因,发现了一些端倪。 这个post说明他遇到了和我一样的问题
从使用 Cmake GUI 创建构建文件夹后 OpenCV.lsn 中没有 binding
文件夹开始
此外,我的 build/bin/release/opencv_version_win32.exe
的构建会话下没有 python2 或 python3,而是它们处于不可用会话中。
然而,我花了几个小时试图找到有效的解决方案,但仍然找不到任何可以帮助我的东西。所以我希望有人也遇到了这个问题,可以帮助我解决这个问题。
经过一番挖掘,我发现了一些非常有趣的东西。通过Whosebug、github和opencv官网看到很多关于缺少python解释器和相关库的建议。
所以我只是想尝试一下,发现基础 python 解释器中缺少我的 numpy,并在我尝试导入时显示以下错误numpy.
The error is the same as this post (I can't reproduce the error anymore, so I will link it for you to see)
In order to check this, you cannot just import numpy from base environment. You have to go to
C:\{MY DIRECTORY}\anaconda3\python.exe
, click the file python.exe and try to import numpy
我以前从未注意到这一点,因为我总是在 Anaconda 创建的虚拟环境中工作,所以 numpy 已经在那里了。 (我不知道遇到这个问题的每个人是否总是这样,我不知道对于那些不使用 anaconda 的人来说这是否是相同的解决方案)
我所要做的就是找到我的 Anaconda 基础库的路径(在我的例子中是)
C:\{MY DIRECTORY}\anaconda3\Library\bin
复制路径并添加到系统PATH中。
之后,我再次重做 CMake 构建过程,一切正常!!!
希望这对遇到同样问题的其他人有所帮助。