Could NOT find PythonInterp: Found unsuitable version “3.6.9“, but required is at least “3.8“
虚拟环境中设置的python的版本是3.10.15,安装在/home/robb/miniconda3/envs/DRLcp310cu118/bin下。但是ubuntu18.04中默认/usr/bin下有多个python版本:2.7,3,3.6,3.7,3.8。库pybind11最低要求是3.8版本而且(重点是)pybind11在cmake操作时是虚拟环境的python==3.10.15下进行的。所
使用cmake安装时,因为软连接设置不对,出现以下错误:
CMake Error at /usr/lib/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PythonInterp: Found unsuitable version "3.6.9", but required
is at least "3.8" (found /usr/bin/python3)
Call Stack (most recent call first):
/usr/lib/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:598 (_FPHSA_FAILURE_MESSAGE)
/usr/lib/share/cmake-3.27/Modules/FindPythonInterp.cmake:182 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
/usr/local/share/cmake/pybind11/FindPythonLibsNew.cmake:114 (find_package)
/usr/local/share/cmake/pybind11/pybind11Tools.cmake:44 (find_package)
/usr/local/share/cmake/pybind11/pybind11Common.cmake:200 (include)
/usr/local/share/cmake/pybind11/pybind11Config.cmake:250 (include)
CMakeLists.txt:19 (find_package)
虚拟环境中设置的python的版本是3.10.15,安装在/home/robb/miniconda3/envs/DRLcp310cu118/bin下。但是ubuntu18.04中默认/usr/bin下有多个python版本:2.7,3,3.6,3.7,3.8。实际多少个版本,根据各自的系统不同有不同。可按以下方式查询:
1)cd /usr/bin
2) ls python*
如有显示红色字体的,该连接有损坏,应删除重装,如 sudo apt remove python3.8
出现上述报错,是因为软连接是3.6版本的python。库pybind11最低要求是3.8版本而且(重点是)pybind11在cmake操作时是虚拟环境的python==3.10.15下进行的。所以,需要把这个软连接改为虚拟环境下的python版本,而不是用系统自带的版本。
解决方法:
1)设置环境变量:
export PATH="/home/robb/miniconda3/envs/DRLcp310cu118/bin:$PATH"
2)建立软连接(关键):
sudo ln -s /home/robb/miniconda3/envs/DRLcp310cu118/bin/python3.10 /usr/bin/python3
重新cmake,问题解决。
更多推荐


所有评论(0)