Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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连接到RabbitMQ_Python_Python 2.7_Rabbitmq_Amqp_Kombu - Fatal编程技术网

无法从Python连接到RabbitMQ

无法从Python连接到RabbitMQ,python,python-2.7,rabbitmq,amqp,kombu,Python,Python 2.7,Rabbitmq,Amqp,Kombu,我正在学习Python,遇到了一个奇怪的问题。我正在macOS Sierra本地机上运行RabitMQ。从python脚本连接到RabbitMQ服务器总是失败,并出现套接字超时错误。同时,我可以通过telnet进行连接。 运行Python 2.7和库kombu: # test.py from kombu import Connection connection = Connection('amqp://127.0.0.1') connection.connect() 结果是: Thunder

我正在学习Python,遇到了一个奇怪的问题。我正在macOS Sierra本地机上运行RabitMQ。从python脚本连接到RabbitMQ服务器总是失败,并出现套接字超时错误。同时,我可以通过telnet进行连接。 运行Python 2.7和库kombu:

# test.py
from kombu import Connection

connection = Connection('amqp://127.0.0.1')
connection.connect()
结果是:

Thunderstorm:test max$ python test.py
Traceback (most recent call last):
  File "test.py", line 6, in <module>
    connection.connect()
  File "/Library/Python/2.7/site-packages/kombu/connection.py", line 261, in connect
    return self.connection
  File "/Library/Python/2.7/site-packages/kombu/connection.py", line 802, in connection
    self._connection = self._establish_connection()
  File "/Library/Python/2.7/site-packages/kombu/connection.py", line 757, in _establish_connection
    conn = self.transport.establish_connection()
  File "/Library/Python/2.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
    conn.connect()
  File "/Library/Python/2.7/site-packages/amqp/connection.py", line 300, in connect
    self.drain_events(timeout=self.connect_timeout)
  File "/Library/Python/2.7/site-packages/amqp/connection.py", line 464, in drain_events
    return self.blocking_read(timeout)
  File "/Library/Python/2.7/site-packages/amqp/connection.py", line 468, in blocking_read
    frame = self.transport.read_frame()
  File "/Library/Python/2.7/site-packages/amqp/transport.py", line 237, in read_frame
    frame_header = read(7, True)
  File "/Library/Python/2.7/site-packages/amqp/transport.py", line 377, in _read
    s = recv(n - len(rbuf))
socket.timeout: timed out

如何调试此问题?

通过增加默认连接超时解决此问题

Connection('amqp://127.0.0.1/', connect_timeout=15)

通过增加默认连接超时时间解决了此问题

Connection('amqp://127.0.0.1/', connect_timeout=15)

您是否尝试过像在telnet中一样在连接中输入端口号?i、 e.
连接('amqp://127.0.0.1:5672“)
是的,我使用了端口,使用默认凭据,但总是得到相同的结果<代码>连接('amqp://127.0.0.1:5672)
连接('amqp://guest:guest@127.0.0.1:5672')
您是否尝试过像在telnet中一样将端口号放入连接中?i、 e.
连接('amqp://127.0.0.1:5672“)
是的,我使用了端口,使用默认凭据,但总是得到相同的结果<代码>连接('amqp://127.0.0.1:5672)
连接('amqp://guest:guest@127.0.0.1:5672’
Connection('amqp://127.0.0.1/', connect_timeout=15)