【问题标题】:Built Opencv from source successfully, but can't import to python in anaconda成功从源代码构建 Opencv,但无法在 anaconda 中导入 python
【发布时间】:2021-01-08 06:12:20
【问题描述】:

我想将 opencv 与 GPU 一起使用以加快速度。因此,我遵循了一些关于如何从源代码以及 CUDA 和 cudnn 构建 opencv 的教程。

我跟着这个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,而是它们处于不可用的会话中。

但是,经过数小时的努力寻找有效的解决方案,我仍然找不到任何可以帮助我的东西。所以我希望有人也遇到过这个问题,可以帮助我解决这个问题。

【问题讨论】:

    标签: python opencv anaconda


    【解决方案1】:

    经过一番挖掘,我发现了一些非常有趣的东西。我通过stackoverflow、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)

    为了检查这一点,您不能只从基础环境中导入 numpy。你必须去C:\{MY DIRECTORY}\anaconda3\python.exe,点击文件python.exe并尝试导入numpy

    我以前从未注意到这一点,因为我总是在 Anaconda 创建的虚拟环境中工作,所以 numpy 已经存在。 (我不知道遇到这个问题的每个人是否总是这样,我不知道对于不使用anaconda的人来说这是否是相同的解决方案)

    我所要做的就是找到我的 Anaconda 基础库的路径(在我的例子中是)

    C:\{MY DIRECTORY}\anaconda3\Library\bin

    复制路径并将其添加到系统 PATH。

    之后,我再次重做 CMake 构建过程,一切正常!!!

    希望这能帮助其他面临同样问题的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-29
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多