Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Paho MQTT客户端未实例化_Python_Mqtt_Paho - Fatal编程技术网

Python Paho MQTT客户端未实例化

Python Paho MQTT客户端未实例化,python,mqtt,paho,Python,Mqtt,Paho,我想按照前面提到的示例连接到Python中的代理。代码只是停留在实例化部分。没有回应,什么都没有!有什么不对劲吗 pi@raspberrypi ~ $ python Python 2.7.3 (default, Mar 18 2014, 05:13:23) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import paho.mqt

我想按照前面提到的示例连接到Python中的代理。代码只是停留在实例化部分。没有回应,什么都没有!有什么不对劲吗

pi@raspberrypi ~ $ python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paho.mqtt.client as mqtt
>>> c = mqtt.Client("random")
mqtt.Client
从未完成。由于尚未调用connect方法,我不确定这是否是网络问题。尽管如此,
Ctrl-C
仍显示以下内容:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py",     line 422, in __init__
self._sockpairR, self._sockpairW = _socketpair_compat()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 271, in _socketpair_compat
    sock2, address = listensock.accept()
  File "/usr/lib/python2.7/socket.py", line 202, in accept
    sock, addr = self._sock.accept()
KeyboardInterrupt
>>>
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist packages/paho/mqtt/client.py”,第422行,在__
self.\u sockpairR,self.\u sockpairW=\u socketpair\u compat()
文件“/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py”,第271行,在
sock2,address=listensock.accept()
文件“/usr/lib/python2.7/socket.py”,第202行,在accept中
sock,addr=self.\u sock.accept()
键盘中断
>>>
python3也会发生这种情况

更新:此问题发生在Raspberry Pi上。在Ubuntu上,同样的代码工作正常。

看起来网络(
sock
)配置不正确。你测试过你的树莓Pi网络吗

测试您是否从以下位置收到答案:
ping 8.8.8.8

使用以下命令测试dns:
ping www.google.com

检查您是否有有效的网关:
ip路由显示

检查您的
/etc/resolv.conf
是否有以下有效条目:

nameserver 8.8.8.8
nameserver 8.8.4.4
还可以尝试调用不带参数的客户端方法,或使用所有参数:

c = mqtt.Client()

c = mqtt.Client(client_id="123456789", clean_session=True, userdata=None, protocol=MQTTv311)

我刚刚遇到了完全相同的问题-手动运行
client.py
/usr/local/lib/python2.7/dist-packages/paho/mqtt/
)它将在以下位置提交:

271     sock2, address = listensock.accept()
ping localhost会失败(或者ping internet上的某个主机,
localhost.home.net
;)结果是我在
/etc/hosts
中注释了
127.0.0.1 localhost

 #127.0.0.1   localhost

一旦我删除了散列,它就开始正常工作。

您的PI是否启用了IPv4网络和有效的本地主机名?我会得到一个有效的ip地址。pythonmosquitto客户端也工作得很好。在PI上pinglocalhost是否工作得很好?mosquittopython已经过时了。Ping不起作用。以上所有检查均正确。还是一样的问题。