我正在尝试将get_url模块用于ansible,当我运行它时,我收到以下错误:
failed: [localhost] => (item=10) => {"failed": true, "item": "10"}
msg: httplib2 is not installed
现在我已经使用pip成功安装了httplib2:
pip install httplib2
Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/site-packages
但显然这对情况没有帮助。我可以看到ansible使用的是与操作系统(安装了httplib2)不同的PYTHON_PATH,但我无法弄清楚如何将httplib2安装到该路径中(除了复制它并不好)。
任何帮助都非常感激。
答案 0 :(得分:1)
我在我的一台Mac上遇到过这个问题(我最近在Homebrew Python安装和系统安装之间进行了切换,所以有些东西很时髦),最后修复了它,至少在特定的会话中,在CLI上启动交互式python会话并导入库:
$ python
>>> import httplib2
>>> exit()
$ [continue what you were doing with ansible...]
答案 1 :(得分:1)
如果这是一个ansible-playbook错误,您可以运行pip命令来安装httplib2工件。尝试之前运行以下任务:
tasks:
- name: pip httplib2
# ansible uri module requires httplib2
pip: name=httplib2 extra_args="--user"
答案 2 :(得分:0)
了解如何安装Ansible以及Ansible正在使用的Python安装位置。使用文件管理器浏览您的硬盘。
使用此特定Python安装中的pip
命令(通常位于bin
目录中)来安装httplib2
。这样httplib2最终会安装正确的Python。
此外,要找出Ansible正在使用的Python命令:
which ansible
显示ansible可执行文件的完整路径。然后:
head /where/is/my/ansible/command
它会打印出脚本标题,其中应包含python
命令的完整路径。