FindPythonInterp

在 3.27 版的變更: This module is available only if policy CMP0148 is not set to NEW.

在 3.12 版之後被棄用: Use FindPython3, FindPython2, or FindPython instead.

Finds the Python interpreter and determines the location of its executable:

find_package(PythonInterp [<version>] [...])

備註

When using both this and the FindPythonLibs module, call find_package(PythonInterp) before find_package(PythonLibs). This ensures that the detected interpreter version is used to guide the selection of compatible libraries, resulting in a consistent PYTHON_LIBRARIES value.

備註

A call to find_package(PythonInterp ${V}) for Python version V may find a python executable with no version suffix. In this case no attempt is made to avoid Python executables from other versions. Use FindPython3, FindPython2, or FindPython instead.

結果變數

該模組定義了以下變數:

PythonInterp_FOUND

在 3.3 版被加入.

Boolean indicating whether the (requested version of) Python executable was found.

PYTHON_VERSION_STRING

Python version found (e.g., 2.5.2).

PYTHON_VERSION_MAJOR

Python major version found (e.g., 2).

PYTHON_VERSION_MINOR

Python minor version found (e.g., 5).

PYTHON_VERSION_PATCH

Python patch version found (e.g., 2).

快取變數

The following cache variables may also be set:

PYTHON_EXECUTABLE

The path to the Python interpreter.

提示

This module accepts the following variables before calling find_package(PythonInterp):

Python_ADDITIONAL_VERSIONS

This variable can be used to specify a list of version numbers that should be taken into account when searching for Python.

已棄用的變數

The following variables are provided for backward compatibility:

PYTHONINTERP_FOUND

在 3.12 版之後被棄用: Use PythonInterp_FOUND, which has the same value.

Boolean indicating whether the (requested version of) Python executable was found.

範例

Finding the Python interpreter in earlier versions of CMake:

find_package(PythonInterp)
execute_process(COMMAND ${PYTHON_EXECUTABLE} --help)

Starting with CMake 3.12, the Python interpreter can be found using the FindPython module. The equivalent example using the modern approach is:

find_package(Python)
execute_process(COMMAND ${Python_EXECUTABLE} --help)