找不到 python 解释器-Opencv cmake 错误

找不到 python 解释器-Opencv cmake 错误

我正在使用 Ubuntu 14.04 并尝试安装 opencv 3.3.0。当我执行 cmake 来获取 make 文件时,它无法找到 Python 解释器,并显示以下消息(尽管 cmake 仍在继续)

    -- Could NOT find PythonInterp: Found unsuitable version "2.7.6", 
       but required is at least "3.4" (found /usr/bin/python)
    -- Could NOT find PythonInterp: Found unsuitable version "2.7.6", 
       but required is at least "3.2" (found /usr/bin/python)

当我检查时/usr/bin/,我可以看到那里有 Python 库/二进制文件(如下图所示)

在此处输入图片描述

我还可以看到以下版本的python

 python             python2.7-config   python3.4          python3.4m-
 config  python3.5m-config  python3m-config    
 python2            python2-config     python3.4-config   python3.5          
 python3-config     python-config      
 python2.7          python3            python3.4m         python3.5m         
 python3m           python-mkdebian  

我该如何解决这个问题?由于这个问题,我无法使用简历在我的python脚本中,因为它会引发以下错误

    ImportError: No module named 'cv2'

答案1

/usr/bin/python

是一个符号链接。

尝试

ls -l /usr/bin/python

它可能指向 python2.7

您需要(以 root 身份)

ln -f -s /usr/bin/python3.4 /usr/bin/python

这将删除旧的符号链接(因为 -f)并创建一个指向 python3.4 的新符号链接。

不幸的是,python 版本 2 和 python 版本 3 之间存在一些不兼容性,因此上述说明可能会破坏其他一些应用程序。如果您发现该问题,可以尝试升级 cmake 版本。cmake 似乎使用文件中的列表来查找 python 解释器

/usr/share/cmake-<version>/Modules/FindPythonInterp.cmake

如果你有此文件的旧版本,其中包含类似以下行

set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0)

您可以尝试将其编辑为

set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0)

由于我有一个较新版本的 cmake,我自己还没有尝试过,但它值得一试。

相关内容