【问题标题】:Why does cmake use Anaconda's Python?为什么 cmake 使用 Anaconda 的 Python?
【发布时间】:2018-04-10 19:43:37
【问题描述】:

我一直在解决在 Ubuntu 16.04 上运行 OpenCV 的一些问题。在出现一些未找到的链接和缺少库警告的问题后,我意识到 OpenCV 正在 Anaconda 的路径中寻找库。

我已重命名 Anaconda 文件夹,从 PATH、LDPATH 和 PYHONPATH 中删除了对其的任何引用,并确保我在 root 上安装了所有必要的库。

因为这还不够,我收到了重建 OpenCV 的建议。我回到 OpenCV 目录,进入 build 文件夹,然后运行 ​​cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..,正如 OpenCV 的 installation guide 所建议的那样。令我惊讶的是,在结果中我发现了这些:

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.12)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.12)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.11.0)
--     packages path:               lib/python2.7/dist-packages
-- 
--   Python 3:
--     Interpreter:                 /home/raggot/anaconda3/bin/python3 (ver 3.6.3)
-- 
--   Python (for build):            /usr/bin/python2.7
--     Pylint:                      /home/raggot/anaconda3/bin/pylint (ver: unknown, checks: 110)

还有这些:

--   Media I/O: 
--     ZLib:                        /home/raggot/anaconda3/lib/libz.so (ver )
--     JPEG:                        /home/raggot/anaconda3/lib/libjpeg.so (ver )
--     WEBP:                        build (ver encoder: 0x020e)
--     PNG:                         /home/raggot/anaconda3/lib/libpng.so (ver ..)
--     TIFF:                        /home/raggot/anaconda3/lib/libtiff.so (ver )
--     JPEG 2000:                   /home/raggot/anaconda3/lib/libjasper.so (ver )
--     OpenEXR:                     build (ver 1.7.1)
--     GDAL:                        NO
--     GDCM:                        NO

CMake 是否告诉 OpenCV 现在将引用 Python3 和一些媒体库的 /anaconda/ 路径?如果是这样,怎么会?这些链接存储在我的系统中的什么位置?如何避免 OpenCV 引用 Anaconda?

【问题讨论】:

    标签: python opencv cmake anaconda


    【解决方案1】:

    我通过更深入地分析 CMake 对我未指定的所有参数的实际假设来解决了这个问题。通过运行

    cmake-gui
    

    然后搜索所有包含anaconda 的字段,我意识到出于某种原因,CMake 正在使用 Anaconda 的 Python3 安装,并且它还找到了 Anaconda 的 JPEG、TIFF 和 PNG 库。

    由于我个人在使用 Anaconda 时遇到过很多此类问题,而且我个人在其他项目中并不真正需要它,所以我只是删除了 Anaconda,并从头开始重建 OpenCV。这次成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 2016-04-11
      • 2017-06-25
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      相关资源
      最近更新 更多