1. 报错内容

ansible版本:

ansible --version
ansible 2.9.6
  config file = /apps/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.10 (default, Nov 22 2023, 10:22:35) [GCC 9.4.0]

报错内容如下:

[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/core.py) as it seems to be invalid: cannot
import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)
[WARNING]: Skipping plugin (/usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py) as it seems to be invalid:
cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.8/dist-packages/jinja2/filters.py)

2. 报错原因

这个是已经被证实的bug,升级ansible版本可以解决此问题,详细:
https://bugs.launchpad.net/ubuntu/+source/ansible/+bug/2002925
https://github.com/ansible/ansible/issues/77413

3. 解决方法

3.1 升级python3

mkdir /root/python
cd /root/python
wget https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tar.xz
tar xf Python-3.11.7.tar.xz
cd /root/python3/Python-3.11.7/
sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev -y
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev -y
sudo apt-get install libssl-dev openssl -y
sudo apt-get install libffi-dev libpq-dev python3-dev -y
sudo apt-get install libxpm-dev libxext-dev -y
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev  -y
./configure --prefix=/usr/local/mydev/python/python3 --with-ssl --enable-optimizations
make -j 4 && make install
\cp python /usr/bin/python3

3.2 升级ansible

mkdir /root/ansible
cd /root/ansible
wget https://github.com/ansible/ansible/archive/refs/tags/v2.16.3.tar.gz
tar xf ansible-2.16.3.tar.gz
cd /root/ansible/ansible-2.16.3
python3 setup.py install
\cp bin/* /usr/local/mydev/python/python3/bin/
echo 'export PATH=/usr/local/mydev/python/python3/bin/:$PATH # ansible' >> ~/.bashrc
source ~/.bashrc

4. 确认安装完毕

python3 --version
ansible --version

确认没有报错及python和ansible版本是期望的
在这里插入图片描述
再次尝试执行playbook,提示信息消失
在这里插入图片描述

更多推荐