Tweepy 4.0出现'Listener' object has no attribute 'running'报错如何解决?
错误原因
- 你的
MyStreamListener子类调用父类构造方法的写法有误,super(tweepy.Stream, self).__init__()直接跳过了tweepy.Stream本身的初始化逻辑,导致tweepy.Stream内置的running属性没有被创建,触发属性不存在报错。 tweepy.Stream的构造方法要求传入四个鉴权参数,你传入的stream_auth参数没有交给父类构造方法处理,也会导致流初始化异常。
修复方案
只需要修改MyStreamListener类的__init__方法即可,修改后的代码如下:
class MyStreamListener(tweepy.Stream): def __init__(self, stream_auth, api): # 正确调用父类tweepy.Stream的构造方法,传入鉴权参数 super().__init__(*stream_auth) self._api = api self._tweet_count = 0 # 其余on_data等方法不需要修改
修改后重新运行程序即可正常启动流监听,running属性报错会消失。
内容的提问来源于stack exchange,提问作者user9219182
相关产品推荐
相关产品推荐

