使用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,问题解决。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐