Ansible-RabbitMQ-即使在安装pika软件包后仍显示错误

Ansible-RabbitMQ-即使在安装pika软件包后仍显示错误,ansible,rabbitmq,pika,python-pika,Ansible,Rabbitmq,Pika,Python Pika,我是ansible和RabbitMQ的新手。我刚开始讲你好,世界。下面是我阅读和检索到RabbitMQ的消息的剧本 --- - hosts: localhost name: "something" vars: ansible_python_interpreter: /usr/local/bin/python3.7 tasks: - name: Publish a message to a queue with headers vars:

我是
ansible
RabbitMQ
的新手。我刚开始讲
你好,世界
。下面是我阅读和检索到
RabbitMQ
的消息的剧本

---
- hosts: localhost
  name: "something"
  vars:
    ansible_python_interpreter: /usr/local/bin/python3.7

  tasks:
  - name: Publish a message to a queue with headers
    vars:
      ansible_python_interpreter: /usr/local/bin/python3.7
    rabbitmq_publish:
      url: "amqps://xx@roedeer.rmq.cloudamqp.com/xx"
      queue: 'RunningQueue'
      body: "Hello world from ansible module rabbitmq_publish"
      durable: yes
      content_type: "text/plain"

  - name: Get 2 messages off a queue and set a fact for re-use
    debug:
      messages: "{{ lookup('rabbitmq', url='amqps://xx@roedeer.rmq.cloudamqp.com/xx', queue='JobQueue') }}"
在我执行上述剧本之后。消息正在保存在队列中,但当我检索消息时,我发现下面有一个错误

fatal:[localhost]:失败!=>{“msg”:“运行查找插件“rabbitmq”时发生未经处理的异常。错误为,原始消息:rabbitmq查找需要pika python包。”}

pika
python包已经安装在本地主机上。证据是它能够产生消息到队列。但我在尝试使用它时遇到了错误。有人能帮我吗?谷歌会告诉我在主机上安装
pika
,但我已经这么做了

ansible-playbook 2.8.12
  config file = None
  configured module search path = ['**', '**']
  ansible python module location = **
  executable location = /usr/local/opt/ansible@2.8/bin/ansible-playbook
  python version = 3.7.9 (default, Sep  9 2020, 00:09:13) [Clang 11.0.0 (clang-1100.0.33.17)]

您能否编辑您的问题并添加一个
ansible playbook-v
的输出?尽管您的目标是本地主机,但控制器和目标之间仍然存在分离,并且查找始终在控制器上运行。我怀疑您在Python3.7解释器中安装了该软件包,正如您在playbook中为目标所声明的那样,但控制器使用的是另一个python版本。事实上,甚至我也这么认为,并从2.9降级到了2.8。现在我在运行时使用了Python3.7。但它抛出了相同的错误我不知道您是如何安装ansible的,但路径看起来不像是默认路径。您确定它没有使用/usr/local/bin/python3.7以外的其他已安装的解释器吗?我敢打赌这是真的…我用的是brew安装。。也许这就是原因。让我和皮普确认一下,如果我犯了同样的错误,我想,我欠你一杯香槟。经验教训:brew不应用于ansible(一般为非本机应用程序)