树莓派4中普通用户与root执行ansible --version返回结果差异咨询
问题解答
1. 不同用户返回版本不同的原因
该现象由Python包的搜索优先级和多路径安装导致:
- 你在两个路径下分别安装了不同版本的ansible:普通用户
stan的个人目录下安装了2.11.4,全局路径下安装了2.9.25.post0 - Python加载第三方包时,会优先读取当前用户家目录下
.local/lib/pythonX.Y/site-packages路径的包,优先级高于全局安装路径/usr/local/lib/pythonX.Y/dist-packages - 普通用户执行命令时加载了个人目录下的2.11.4版本,root用户没有个人目录下的ansible安装包,因此加载全局的2.9.25版本,二者的可执行文件都指向
/usr/local/bin/ansible是因为该文件仅作为入口,实际加载的Python包由搜索路径决定。
2. 实际安装的版本说明
两个版本均真实安装在你的设备中,不存在唯一的“实际版本”:
- 全局版本为2.9.25.post0,适用于所有未单独安装用户级ansible的用户
- 普通用户
stan的个人目录下额外安装了2.11.4版本,默认优先被stan用户调用
如果需要统一使用2.9版本,以普通用户身份执行以下命令卸载个人安装的版本即可:
pip3 uninstall -y ansible
内容的提问来源于stack exchange,提问作者StanGreen
相关产品推荐
相关产品推荐

