Ubuntu使用pip --user安装Ansible路径非/etc/ansible 如何调整
问题解决方法
首先先明确两个核心逻辑:
- 你之前执行的命令加了
--user参数,该参数的作用就是将Python包安装到当前用户的家目录~/.local路径下,属于用户级安装,不会写入系统级目录 /etc/ansible本质是Ansible的全局配置、inventory清单存放目录,并非Ansible程序本身的安装目录,默认pip安装不会自动生成该目录
方法一:使用系统APT包管理器安装(最推荐)
该方式会自动生成/etc/ansible目录和默认配置文件,无需手动处理:
- 先卸载当前用户已安装的Ansible,避免版本冲突
python3 -m pip uninstall ansible -y
- 更新系统包索引
sudo apt update
- 全局安装Ansible
sudo apt install ansible -y
安装完成后直接查看/etc/ansible目录,默认会包含ansible.cfg(全局配置文件)、hosts(全局资产清单)两个核心文件。
方法二:使用PIP全局安装
如果你需要指定版本安装使用pip的话,按以下步骤操作:
- 先卸载当前用户已安装的Ansible
python3 -m pip uninstall ansible -y
- 不加
--user参数,用sudo权限全局安装Ansible
sudo python3 -m pip install ansible
- 手动创建
/etc/ansible目录并补充默认配置
# 创建目录 sudo mkdir -p /etc/ansible # 复制默认配置文件,若你的Python3版本不是3.8,将路径中的python3.8替换为你实际的版本号(可通过`python3 -V`查询) sudo cp /usr/local/lib/python3.8/dist-packages/ansible/config/ansible.cfg.j2 /etc/ansible/ansible.cfg # 创建默认全局资产清单文件 sudo touch /etc/ansible/hosts
*注意:Ansible程序本身并不会安装到/etc/ansible路径下,该目录仅存放全局配置类文件,程序本体默认存放在Python的site-packages或dist-packages目录下,可通过which ansible命令查询可执行文件的实际路径。
内容的提问来源于stack exchange,提问作者phil6564
相关产品推荐
相关产品推荐

