我使用的是Anble2.8.0 (ansible --version由brew在macOS上安装),它使用Jinja2.10。
我试图通过pip3 install jinja2==2.8将Jinja降级到2.8,我可以用pip3 list确认正确的版本,但是Ansible仍然在使用Jinja2.10(由这些步骤验证)。它似乎使用的是不同的Python的site-packages文件夹。
由于臭虫,我想降低Jinja的等级,所以我想使用旧版本的Jinja测试Ansible。
我如何降级Jinja使用的Ansible,理想情况下不降级Ansible it-self?
$ ansible --version
ansible 2.8.0
config file = /Users/kenorb/.ansible.cfg
configured module search path = ['/Users/kenorb/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/2.8.0/libexec/lib/python3.7/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.7.3 (default, Mar 27 2019, 09:23:15) [Clang 10.0.1 (clang-1001.0.46.3)]
$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ brew info ansible
ansible: stable 2.8.0 (bottled), HEAD发布于 2019-06-06 12:45:11
由于Ansible是通过macOS上的Homebrew安装的,所以解决方法是使用Pip安装Ansible。
$ brew remove ansible
$ pip3 install ansible
$ pip3 list | grep -e ansible -e Jinja2
ansible 2.8.0
Jinja2 2.8
$ ansible-playbook check_jinja.yaml -v
TASK [jinja_version]
ok: [localhost] => {"changed": false, "msg": "2.8"}https://devops.stackexchange.com/questions/8314
复制相似问题