FindPythonInterp¶
3.27 版本中的更改: 仅当策略 CMP0148
未设置为 NEW
时,此模块才可用。
3.12 版本已弃用: 请改用 FindPython3
、FindPython2
或 FindPython
。
此模块查找 Python 解释器并确定其可执行文件的位置。
注意
当同时使用此模块和 FindPythonLibs
模块时,请在 find_package(PythonLibs)
之前调用 find_package(PythonInterp)
。这可以确保检测到的解释器版本用于指导选择兼容的库,从而获得一致的 PYTHON_LIBRARIES
值。
注意
为 Python 版本 V
调用 find_package(PythonInterp ${V})
可能会找到一个没有版本后缀的 python
可执行文件。在这种情况下,不会尝试避免使用其他版本的 Python 可执行文件。请改用 FindPython3
、FindPython2
或 FindPython
。
结果变量¶
此模块定义了以下变量
PythonInterp_FOUND
一个布尔值,指示是否找到(请求版本)的 Python 可执行文件。为了向后兼容,
PYTHONINTERP_FOUND
变量也设置为相同的值。PYTHON_VERSION_STRING
找到的 Python 版本(例如
2.5.2
)。PYTHON_VERSION_MAJOR
找到的 Python 主版本(例如
2
)。PYTHON_VERSION_MINOR
找到的 Python 次版本(例如
5
)。PYTHON_VERSION_PATCH
找到的 Python 补丁版本(例如
2
)。
缓存变量¶
以下缓存变量也可以设置
PYTHON_EXECUTABLE
Python 解释器的路径。
提示¶
此模块接受以下变量,在调用 find_package(PythonInterp)
之前
Python_ADDITIONAL_VERSIONS
此变量可用于指定在搜索 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)