我正在使用 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,我自己还没有尝试过,但它值得一试。