为什么将 "ansible_python_interpreter" conf 选项设置为“/usr/bin/python3”
Why set "ansible_python_interpreter" conf option to '/usr/bin/python3'
我想在托管节点上使用 python 3.6 和 Ansible(我想控制节点可以使用任何东西)。
在其 official doc 上,它说要在托管节点上启用 python 3.6,我必须将 ansible_python_interpreter
配置选项设置为 /usr/bin/python3
。这个选项是 inventory option
。我知道即使使用动态清单也可以设置此清单变量,但我只是不想设置变量那么复杂。
所以我没有设置这个选项,而是我:
- 使用
ec2_module
自动配置 aws ec2 ubuntu18.04(python 3.6 at /usr/bin/python3
)(我也可以使用 raw
模块来安装如果它不存在)
- 使用
raw
模块创建从 /usr/bin/python
到 /usr/bin/python3
的符号链接
我试过了,似乎只要将 /usr/bin/python
设置为可接受的 python 版本(>= 2.7
或 >= 3.6
),它就应该可以工作。 ..
问题: 那么将 ansible_python_interpreter 配置选项设置为 /usr/bin/python3
有什么意义呢?
Question: So what's the point of setting the ansible_python_interpreter configuration option to /usr/bin/python3?
默认情况下,Ansible 将始终在远程系统上使用 /usr/bin/python
。你设置 ansible_python_interpreter
来提供一条通往 不是 /usr/bin/python
的东西的路径,如果你想让它使用它的话。当然,您可以改为创建符号链接,但是:
- 这比设置清单变量容易多少?
- 在许多发行版中,
/usr/bin/python
已经存在并且是 Python 2 并且是系统工具所必需的。更换它会损坏东西。
- 即使在默认情况下不附带 Python 2 的系统上,通过创建从
/usr/bin/python
到 /usr/bin/python3
的符号链接,您也可能会破坏任何期望 /usr/bin/python
是 Python 2. 现在可能不会咬你,但将来可能会让你大吃一惊。
我想在托管节点上使用 python 3.6 和 Ansible(我想控制节点可以使用任何东西)。
在其 official doc 上,它说要在托管节点上启用 python 3.6,我必须将 ansible_python_interpreter
配置选项设置为 /usr/bin/python3
。这个选项是 inventory option
。我知道即使使用动态清单也可以设置此清单变量,但我只是不想设置变量那么复杂。
所以我没有设置这个选项,而是我:
- 使用
ec2_module
自动配置 aws ec2 ubuntu18.04(python 3.6 at/usr/bin/python3
)(我也可以使用raw
模块来安装如果它不存在) - 使用
raw
模块创建从/usr/bin/python
到/usr/bin/python3
的符号链接
我试过了,似乎只要将 /usr/bin/python
设置为可接受的 python 版本(>= 2.7
或 >= 3.6
),它就应该可以工作。 ..
问题: 那么将 ansible_python_interpreter 配置选项设置为 /usr/bin/python3
有什么意义呢?
Question: So what's the point of setting the ansible_python_interpreter configuration option to /usr/bin/python3?
默认情况下,Ansible 将始终在远程系统上使用 /usr/bin/python
。你设置 ansible_python_interpreter
来提供一条通往 不是 /usr/bin/python
的东西的路径,如果你想让它使用它的话。当然,您可以改为创建符号链接,但是:
- 这比设置清单变量容易多少?
- 在许多发行版中,
/usr/bin/python
已经存在并且是 Python 2 并且是系统工具所必需的。更换它会损坏东西。 - 即使在默认情况下不附带 Python 2 的系统上,通过创建从
/usr/bin/python
到/usr/bin/python3
的符号链接,您也可能会破坏任何期望/usr/bin/python
是 Python 2. 现在可能不会咬你,但将来可能会让你大吃一惊。