编译安装ansible 📅 2026/7/14 19:10:01 首先如果想自定义或者安装新版ansible对pip和Python环境都有版本要求不能太低还需要其他依赖库在Rocky9上编译安装ansible 此版本2.21.0上传ansible.gz包并解压tar -zxvf ansible-2.21.0.tar.gz[rootansible ~]# lsanaconda-ks.cfg ansible-2.21.0 ansible-2.21.0.tar.gz Python-3.14.6 Python-3.14.6.tar.xz我已经将python包也提前解压好了安装pip[rootansible ~]# yum install -y python3-pip[rootansible ~]# pip3 -Vpip 26.1.2 from /usr/local/lib/python3.14/site-packages/pip (python 3.14)解压ansible.gz包后通过pip安装环境要求的组件[rootansible ansible-2.21.0]# pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn执行安装[rootansible ansible-2.21.0]# python3 -m pip install .如果提示报错看看报错原因多半可能是python版本没有达标编译安装的话需要较新版本的python就接着文章往下走下载新版python安装新版Python[rootansible ~]# python -VPython 3.9.21如何构建新版本python下载源码包编译安装。在编译安装前要安装基础软件包。可以上该网站去下载。https://www.python.org/ftp/python/3.14.6/Python-3.14.6.tar.xz[rootansible ~]# yum install -y gcc libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel readline-devel sqlite-devel zip unzip bzip2上传python到家目录[rootansible ~]# tar -xvf Python-3.14.6.tar.xz[rootansible ~]# lsanaconda-ks.cfg ansible-2.21.0 ansible-2.21.0.tar.gz Python-3.14.6 Python-3.14.6.tar.xz[rootansible ~]# cd Python-3.14.6[rootansible Python-3.14.6]# lsaclocal.m4 config.sub Grammar iOS Makefile.pre.in Parser Programs ToolsAndroid configure Include Lib Misc PC pyconfig.h.inApple configure.ac install-sh LICENSE Modules PCbuild Pythonconfig.guess Doc InternalDocs Mac Objects Platforms README.rst[rootansible Python-3.14.6]# ./configure --prefix/usr/local/python3.14--enable-optimizations[rootansible Python-3.14.6]# make make install构建ansible[rootansible local]# ln -s /usr/local/python3.14/bin/python3.14 /usr/bin/python3.14[rootansible ~]# ln -s /usr/local/python3.14/bin/pip3.14 /usr/bin/pip3.14[rootansible ~]# cd ansible-2.21.0[rootansible ansible-2.21.0]# lsAGENTS.md bin changelogs COPYING lib MANIFEST.in pyproject.toml requirements.txtansible_core.egg-info build CLAUDE.md hacking licenses packaging README.md test[rootansible ansible-2.21.0]# pip3.14 install .[rootansible ~]# find /usr/local/ -name ansible/usr/local/bin/ansible/usr/local/lib/python3.14/site-packages/ansible/usr/local/lib/python3.14/site-packages/ansible/_internal/ansible_collections/ansible[rootansible ~]# ln -s /usr/local/bin/ansible /usr/bin/ansible[rootansible ~]# ln -s /usr/local/bin/ansible-playbook /usr/bin/play-book[rootansible ~]# ln -s /usr/local/bin/ansible-config /usr/bin/ansible-config[rootansible ~]# ln -s /usr/local/bin/ansible-doc /usr/bin/ansible-doc[rootansible ~]# ansible --version命令等价于 python3.14 -m ansible.cli.adhoc --versionansible [core 2.21.0]config file Noneconfigured module search path [/root/.ansible/plugins/modules, /usr/share/ansible/plugins/modules]ansible python module location /usr/local/lib/python3.14/site-packages/ansibleansible collection location /root/.ansible/collections:/usr/share/ansible/collectionsexecutable location /usr/local/bin/ansiblepython version 3.14.6 (main, Jul 12 2026, 16:32:52) [GCC 11.5.0 20240719 (Red Hat 11.5.0-14)] (/usr/local/bin/python3.14)jinja version 3.1.6pyyaml version 6.0.3 (with libyaml v0.2.5)[rootansible ~]# mkdir /etc/ansible[rootansible ~]# cd /etc/ansible/[rootansible ansible]# touch hosts[rootansible ansible]# touch ansible.cfg[rootansible ansible]# lsansible.cfg hosts[rootansible ansible]#ansible-config init --disabled -t all /etc/ansible/ansible.cfg等价于 python3.14 -m ansible.cli.config init --disabled -t all /etc/ansible/ansible.cfg注意这个init初始化命令是 新版本 Ansibleansible-core 2.12 才提供的功能。--disabled只输出默认被注释禁用的配置项Ansible 本身有内置默认行为不需要写在 ansible.cfg 里加上 --disabled 后生成的配置里所有配置项默认带 # 注释你后续需要改某项功能时只需要去掉注释、修改值即可不会和内置默认冲突。不加此参数会输出已启用、未注释的配置容易覆盖内置默认不推荐新手使用。-t all全称 --type all-t --type指定要生成哪一类配置模板all生成全类型配置所有模块、插件、通用配置汇总可选细分类型inventory、module、callback、connection 等日常统一用 -t all 即可一次性拿到完整配置模板。生产环境更推荐的安装方式源码编译