当前位置 : 主页 > 编程语言 > python >

AttributeError: module 'zerorpc.gevent_zmq' has no attribute 'PUSH'

来源:互联网 收集:自由互联 发布时间:2022-06-15
在使用zerorpc的时候报错: File "D:\soft\python\lib\site-packages\zerorpc\core.py", line 317, in Pusher def __init__(self, context=None, zmq_socket=zmq.PUSH): AttributeError: module 'zerorpc.gevent_zmq' has no attribute 'PUSH' 提示g

在使用zerorpc的时候报错:

File "D:\soft\python\lib\site-packages\zerorpc\core.py", line 317, in Pusher
def __init__(self, context=None, zmq_socket=zmq.PUSH):
AttributeError: module 'zerorpc.gevent_zmq' has no attribute 'PUSH'

提示gevent_zmq没有PUSH属性,看了官网几个版本的zerorpc的gevent_zmq模块,都是没有PUSH属性的,那么这里的PUSH属性是哪里来的呢?

从报错提示的core.py模块看,发现是zmq_socket=zmq.PUSH调用了该属性

class Pusher(SocketBase):
def __init__(self, context=None, zmq_socket=zmq.PUSH):

而zmq则是gevent_zmq的别名,看core.py模块中的导入模块部分

from . import gevent_zmq as zmq

解决方法,就是注释掉改行,重写加入以下行:

# from . import gevent_zmq as zmq
import zmq

直接导入zmq,不用gevent_zmq

AttributeError: module

再次运行,又报错,解决方法雷同,注释,然后重新导入

File "D:\soft\python\lib\site-packages\zerorpc\events.py", line 253, in __init__
if zmq_socket_type in (zmq.PUSH, zmq.PUB, zmq.DEALER, zmq.ROUTER):
AttributeError: module 'zerorpc.gevent_zmq' has no attribute 'PUSH'


上一篇:Django学习笔记之Django的url反向解析
下一篇:没有了
网友评论