FindPythonInterp¶
在版本 3.27 中更改: 仅当策略 CMP0148 不设置为 NEW 时,此模块才可用。
自版本 3.12 起已弃用: 请改用 FindPython3、FindPython2 或 FindPython。
查找 Python 解释器并确定其可执行文件的位置
find_package(PythonInterp [<version>] [...])
注意
当同时使用此模块和 FindPythonLibs 模块时,请先调用 find_package(PythonInterp),然后再调用 find_package(PythonLibs)。这可确保检测到的解释器版本用于指导选择兼容的库,从而获得一致的 PYTHON_LIBRARIES 值。
注意
对于 Python 版本 V 调用 find_package(PythonInterp ${V}) 可能会找到一个没有版本后缀的 python 可执行文件。在这种情况下,不会尝试避免使用其他版本的 Python 可执行文件。请改用 FindPython3、FindPython2 或 FindPython。
结果变量¶
此模块定义了以下变量
PythonInterp_FOUND3.3 版本中新增。
布尔值,指示是否找到了(请求版本)的 Python 可执行文件。
PYTHON_VERSION_STRING找到的 Python 版本(例如,
2.5.2)。PYTHON_VERSION_MAJOR找到的 Python 主版本(例如,
2)。PYTHON_VERSION_MINOR找到的 Python 次版本(例如,
5)。PYTHON_VERSION_PATCH找到的 Python 补丁版本(例如,
2)。
缓存变量¶
以下缓存变量也可以设置
PYTHON_EXECUTABLEPython 解释器的路径。
提示¶
在调用 find_package(PythonInterp) 之前,此模块接受以下变量:
Python_ADDITIONAL_VERSIONS此变量可用于指定在搜索 Python 时应考虑的版本号列表。
已弃用变量¶
以下变量提供用于向后兼容性
PYTHONINTERP_FOUND自版本 3.12 起已弃用: 请使用
PythonInterp_FOUND,其值相同。布尔值,指示是否找到了(请求版本)的 Python 可执行文件。
示例¶
在早期版本的 CMake 中查找 Python 解释器
find_package(PythonInterp)
execute_process(COMMAND ${PYTHON_EXECUTABLE} --help)
从 CMake 3.12 开始,可以使用 FindPython 模块找到 Python 解释器。使用现代方法的等效示例为:
find_package(Python)
execute_process(COMMAND ${Python_EXECUTABLE} --help)