【发布时间】:2017-11-21 22:01:28
【问题描述】:
我有一个Vagrantfile,它被简化为:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.boot_timeout = 900
config.vm.define 'srv' do |srv|
srv.vm.provision 'ansible' do |ansible|
ansible.compatibility_mode = '2.0'
ansible.playbook = 'playbook.yml'
end
end
end
当我在Gathering Facts 阶段运行vagrant provision 时,我得到/usr/bin/python: not found,因为默认情况下Ubuntu 16.04 只安装了python3 而不是Python 2.x python。
我看到了几篇关于这个的旧帖子。似乎最新版本的 Ansible 支持使用 Python 3,但必须通过主机文件中的 ansible_python_interpreter=/usr/bin/python3 或在 ansible 命令行上进行配置。有什么方法可以在我的Vagrantfile 或playbook.yml 文件中指定此选项?我目前没有使用 hosts 文件,我没有通过命令行运行 ansible-playbook,而是通过 Vagrant 集成运行 Ansible。
仅供参考,我正在使用 Ansible 2.4.1.0 和 Vagrant 2.0.1,这是撰写本文时的最新版本。
【问题讨论】:
标签: python vagrant ansible vagrantfile