FindPythonInterp¶
Changed in version 3.27: This module is available only if policy CMP0148
is not set to NEW
.
Deprecated since version 3.12: Use FindPython3
, FindPython2
, or FindPython
instead.
This module finds the Python interpreter and determines the location of its executable.
Note
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.
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. Use
FindPython3
, 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 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.
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 the
FindPython
module. The equivalent example using the modern approach
is:
find_package(Python)
execute_process(COMMAND ${Python_EXECUTABLE} --help)