使用Ansible password_hash过滤器报错,passlib安装无效求助
解决Ansible password_hash过滤器找不到passlib的问题
问题根源
你用pipx安装的Ansible运行在独立虚拟环境中,系统apt或全局pip安装的passlib不在这个隔离环境里,所以Ansible找不到依赖模块。
解决方案
直接给pipx管理的Ansible虚拟环境注入passlib依赖:
- 在GitLab流水线的job步骤中,先执行以下命令:
pipx inject ansible passlib
验证方法
执行以下命令确认passlib已安装到Ansible环境:
pipx list | grep -A5 ansible
输出里应该能看到passlib被列为Ansible的依赖。
流水线示例配置
如果你的.gitlab-ci.yml里有Ansible执行的job,可调整成这样:
ansible_job: image: ubuntu:jammy before_script: - apt update && apt install -y pipx - pipx ensurepath - pipx install ansible==2.17.0 - pipx inject ansible passlib script: - ansible-playbook your_playbook.yml
内容的提问来源于stack exchange,提问作者patrick_s
相关产品推荐
相关产品推荐

