【发布时间】:2020-06-24 09:56:35
【问题描述】:
我被这个错误困住了,我无法修复。我找到了相关案例,但我很难将其应用于我自己的问题。 有人可以帮助我理解为什么会发生这种 Typerror 和/或帮助我找到解决方案吗? (初学者请回复我)
我在树莓派和 pika 1.1.0 中使用 python。
这是我的回溯:
File "amqp.py", line 33, in <module>
no_ack=True)
TypeError: basic_consume() got multiple values for keyword argument 'queue
这是我认为的相关代码:
def callback(ch, method, properties, body):
printer.inverseOn()
printer.println(' ' + '{:<31}'.format("TXT MESSAGE"))
printer.inverseOff()
printer.println(body)
printer.feed(3)
print("complete")
print " [x] Received %r" % (body)
channel.basic_consume(callback,
queue='texts',
no_ack=True)
如果有趣的话,这就是 .py 的其余部分
try:
from urllib.parse import urlparse
except ImportError:
from urlparse import urlparse
import pika, os, sys
from Adafruit_Thermal import *
printer = Adafruit_Thermal("/dev/serial0", 19200, timeout=5)
url_str = os.environ.get('CLOUDAMQP_URL','amqp://xxxxx')
url = urlparse(url_str)
params = pika.ConnectionParameters(host=url.hostname, virtual_host=url.path[1:],
credentials=pika.PlainCredentials(url.username, url.password))
connection = pika.BlockingConnection(params)
channel = connection.channel()
channel.queue_declare(queue='texts')
def callback(ch, method, properties, body):
printer.inverseOn()
printer.println(' ' + '{:<31}'.format("TXT MESSAGE"))
printer.inverseOff()
printer.println(body)
printer.feed(3)
print("complete")
print " [x] Received %r" % (body)
channel.basic_consume(callback,
queue='texts',
no_ack=True)
try:
channel.start_consuming()
except KeyboardInterrupt:
print "Break detected"
channel.stop_consuming()
connection.close()
sys.exit()
【问题讨论】:
标签: python raspberry-pi iot