问题描述
以下是我在编译时的错误:
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
Could NOT find PythonInterp: Found unsuitable version "2.7.16",but
required is at least "3" (found /usr/bin/python)
Call Stack (most recent call first):
/Applications/CMake.app/Contents/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:456 (_FPHSA_FAILURE_MESSAGE)
/Applications/CMake.app/Contents/share/cmake-3.18/Modules/FindPythonInterp.cmake:169 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
3rdparty/pybind11/tools/FindPythonLibsNew.cmake:60 (find_package)
3rdparty/pybind11/tools/pybind11Tools.cmake:16 (find_package)
3rdparty/pybind11/CMakeLists.txt:33 (include)
如何更改CMake查找python的目录?
解决方法
如https://cmake.org/cmake/help/v3.18/module/FindPython.html中所述。要找到python解释器,您可以使用:
find_package (Python COMPONENTS Interpreter Development)
该模块最好用于Python版本3。如果未找到,则搜索版本2。要管理Python的并发版本3和2,请使用FindPython3和FindPython2模块,而不要使用此模块。
如果它不起作用。您可以设置:
Python_EXECUTABLE
The path to the interpreter.
Python_COMPILER
The path to the compiler.
Python_DOTNET_LAUNCHER
The .Net interpreter. Only used by IronPython implementation.
Python_LIBRARY
The path to the library. It will be used to compute the variables Python_LIBRARIES,Python_LIBRAY_DIRS and Python_RUNTIME_LIBRARY_DIRS.
Python_INCLUDE_DIR
The path to the directory of the Python headers. It will be used to compute the variable Python_INCLUDE_DIRS.
Python_NumPy_INCLUDE_DIR
The path to the directory of the NumPy headers. It will be used to compute the variable Python_NumPy_INCLUDE_DIRS.
如同一页所述。