summaryrefslogtreecommitdiffstats
path: root/docs/docsite/rst/reference_appendices/interpreter_discovery.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docsite/rst/reference_appendices/interpreter_discovery.rst')
-rw-r--r--docs/docsite/rst/reference_appendices/interpreter_discovery.rst51
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/docsite/rst/reference_appendices/interpreter_discovery.rst b/docs/docsite/rst/reference_appendices/interpreter_discovery.rst
new file mode 100644
index 0000000..23d1d97
--- /dev/null
+++ b/docs/docsite/rst/reference_appendices/interpreter_discovery.rst
@@ -0,0 +1,51 @@
+.. _interpreter_discovery:
+
+Interpreter Discovery
+=====================
+
+Most Ansible modules that execute under a POSIX environment require a Python
+interpreter on the target host. Unless configured otherwise, Ansible will
+attempt to discover a suitable Python interpreter on each target host
+the first time a Python module is executed for that host.
+
+To control the discovery behavior:
+
+* for individual hosts and groups, use the ``ansible_python_interpreter`` inventory variable
+* globally, use the ``interpreter_python`` key in the ``[defaults]`` section of ``ansible.cfg``
+
+Use one of the following values:
+
+auto_legacy :
+ Detects the target OS platform, distribution, and version, then consults a
+ table listing the correct Python interpreter and path for each
+ platform/distribution/version. If an entry is found, and ``/usr/bin/python`` is absent, uses the discovered interpreter (and path). If an entry
+ is found, and ``/usr/bin/python`` is present, uses ``/usr/bin/python``
+ and issues a warning.
+ This exception provides temporary compatibility with previous versions of
+ Ansible that always defaulted to ``/usr/bin/python``, so if you have
+ installed Python and other dependencies at ``/usr/bin/python`` on some hosts,
+ Ansible will find and use them with this setting.
+ If no entry is found, or the listed Python is not present on the
+ target host, searches a list of common Python interpreter
+ paths and uses the first one found; also issues a warning that future
+ installation of another Python interpreter could alter the one chosen.
+
+auto : (default in 2.12)
+ Detects the target OS platform, distribution, and version, then consults a
+ table listing the correct Python interpreter and path for each
+ platform/distribution/version. If an entry is found, uses the discovered
+ interpreter.
+ If no entry is found, or the listed Python is not present on the
+ target host, searches a list of common Python interpreter
+ paths and uses the first one found; also issues a warning that future
+ installation of another Python interpreter could alter the one chosen.
+
+auto_legacy_silent
+ Same as ``auto_legacy``, but does not issue warnings.
+
+auto_silent
+ Same as ``auto``, but does not issue warnings.
+
+You can still set ``ansible_python_interpreter`` to a specific path at any
+variable level (for example, in host_vars, in vars files, in playbooks, and so on).
+Setting a specific path completely disables automatic interpreter discovery; Ansible always uses the path specified.