[英]how to choose a python interpreter for Ansible playbook?
I have python2.7
and python3.5
in my ansible
server , while executing playbooks it is using python2.7
.我有
python2.7
和python3.5
在我ansible
服务器,在执行它使用剧本python2.7
。 I wanted ansible
to use python3.5
when executing playbooks.我想
ansible
使用python3.5
执行剧本的时候。
in order:
1 have set export path.
2 also changed default interpreter path in ansible.cfg as well.
3 have given specific interpretor path in hostsfile for particular host.
But still, ansible
is not running python3
.但是,
ansible
仍然没有运行python3
。
If you want to set the Python interpreter for individual hosts and groups, set the ansible_python_interpreter
inventory variable.如果要为单个主机和组设置 Python 解释器,请设置
ansible_python_interpreter
库存变量。
If however, you want to set the Python interpreter for global use, then set the interpreter_python
key in the [defaults]
section in the configuration file ansible.cfg
.但是,如果您想将 Python 解释器设置为全局使用,则在配置文件
ansible.cfg
的[defaults]
部分中设置interpreter_python
键。
For a complete list of possible values for the two options above, please see: https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html有关上述两个选项的可能值的完整列表,请参阅: https : //docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html
Also see this example for usage of ansible_python_interpreter
: https://docs.ansible.com/ansible/2.4/python_3_support.html , section "Testing Python 3 module support".另请参阅此示例以了解
ansible_python_interpreter
用法: https : ansible_python_interpreter
,“测试 Python 3 模块支持”部分。
1) There is ANSIBLE_PYTHON_INTERPRETER configuration parameter to set: 1) 有ANSIBLE_PYTHON_INTERPRETER配置参数要设置:
Path to the Python interpreter to be used for module execution on remote targets
用于在远程目标上执行模块的 Python 解释器的路径
2) The version of Python on controller depends on how Ansible has been built. 2)控制器上的 Python 版本取决于 Ansible 的构建方式。 For example
例如
shell> grep DISTRIB_DESCRIPTION /etc/lsb-release
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
shell> dpkg -l | grep ansible
ii ansible 2.9.6-1ppa~bionic
shell> ansible --version
ansible 2.9.6
config file = /home/admin/.ansible.cfg
configured module search path = [u'/home/admin/.ansible/my_modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.17 (default, Nov 7 2019, 10:07:09) [GCC 7.4.0]
shell> grep DISTRIB_DESCRIPTION /etc/lsb-release
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
shell> dpkg -l | grep ansible
ii ansible 2.9.6+dfsg-1
shell> ansible --version
ansible 2.9.6
config file = /home/admin/.ansible.cfg
configured module search path = ['/home/admin/.ansible/my_modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.2 (default, Apr 27 2020, 15:53:34) [GCC 9.3.0]
sheel> uname -a
FreeBSD master.example.com 12.1-RELEASE FreeBSD 12.1-RELEASE r354233 GENERIC amd64
shell> pkg info | grep ansible
py27-ansible-2.8.5 Radically simple IT automation
py36-ansible-2.8.5 Radically simple IT automation
shell> ansible --version
ansible 2.8.5
config file = /home/admin/.ansible.cfg
configured module search path = ['/home/admin/.ansible/plugins/modules', '/usr/local/share/py36-ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.6.9 (default, Nov 14 2019, 01:16:50) [GCC 4.2.1 Compatible FreeBSD Clang 6.0.1 (tags/RELEASE_601/final 335540)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.