FindPythonInterp — CMake 4.1.0-rc1 Documentation (original) (raw)
Changed in version 3.27: This module is available only if policy CMP0148 is not set to NEW
.
This module finds the Python interpreter and determines the location of its executable.
Note
When using both this and the FindPythonLibs module, callfind_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.
Note
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. UseFindPython3, FindPython2, or FindPython instead.
Result Variables¶
This module defines the following variables:
PythonInterp_FOUND
Boolean indicating whether the (requested version of) Python executable is found. For backward compatibility, the PYTHONINTERP_FOUND
variable is also set to the same value.
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
).
Cache Variables¶
The following cache variables may also be set:
PYTHON_EXECUTABLE
The path to the Python interpreter.
Hints¶
This module accepts the following variables before callingfind_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.
Examples¶
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 theFindPython module. The equivalent example using the modern approach is:
find_package(Python) execute_process(COMMAND ${Python_EXECUTABLE} --help)