Python 2.7 在raspberry pi中为Python使用mqtt paho

Python 2.7 在raspberry pi中为Python使用mqtt paho,python-2.7,mqtt,paho,Python 2.7,Mqtt,Paho,我正在尝试使用raspbian中的python 2.7连接到message broker,如下所示: import paho.mqtt.client as paho host="messagesight.demos.ibm.com" port=1883 def on_connect(pahoClient, obj, rc): # Once connected, publish message print "Connected Code = %d"%(rc)

我正在尝试使用raspbian中的python 2.7连接到message broker,如下所示:

import paho.mqtt.client as paho


host="messagesight.demos.ibm.com"
port=1883

def on_connect(pahoClient, obj, rc):
# Once connected, publish message
        print "Connected Code = %d"%(rc)
        client.publish("prueba/123", "Hello World", 0)


def on_log(pahoClient, obj, level, string):
        print string

def on_publish(pahoClient, packet, mid):
# Once published, disconnect
        print "Published"
        pahoClient.disconnect()

def on_disconnect(pahoClient, obj, rc):
        print "Disconnected"

# Create a client instance
client=paho.Client()

# Register callbacks
client.on_connect = on_connect
client.on_log = on_log
client.on_publish = on_publish
client.on_disconnnect = on_disconnect

#Set userid and password
client.username_pw_set(userID, password)

#connect
x = client.connect(host, port, 60)

client.loop_forever()
运行脚本时,出现以下错误:

回溯(最近一次调用last):文件“ejempo.py”,第27行,在 client=paho.client()文件“/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py”,第行 410,在init中 self.\u sockpairR,self.\u sockpairW=\u socketpair\u compat()文件“/usr/local/lib/python2.7/dist packages/paho/mqtt/client.py”,第行 255英寸,双套袜子 listensock.bind((“localhost”,0))文件“/usr/lib/python2.7/socket.py”,第224行,meth格式 返回getattr(self._sock,name)(*args)socket.error:[Errno 99]无法分配请求的地址


我怎样才能修好它

我很快就厌倦了你的代码,它正在发布到
messagesight.demos.ibm.com
fine

我做的唯一一件事就是注释掉用户名和密码

#client.username_pw_set(userID, password)

您是否正确安装了Paho Python客户端,这也是一个很好的示例

是的,Paho Python客户端已正确安装。。。它仍然不起作用。我们仍然收到同样的问题“无法分配请求的地址”。哪个是client.py文件的内容?你能找到第260行“listensock.bind(((“127.0.0.1”,0))”吗?谢谢你能提供
ifconfig-a
@maria的输出吗?听起来像其他人提到的那样,chi network config。谢谢,你说得对!问题是/etc/network/interfaces文件,它没有正确配置……对于其他人来说,@MariaBorbones和@Matt所指的是对问题的评论。问题是
lo
或环回接口关闭。您可以使用
sudo ifconfig lo up启用它
写这篇文章感觉有点奇怪,但是您的Pi上是否支持IPv4?或者您的“lo”接口可能已关闭。尝试
ifconfig关闭;ifconfig lo up