运行Tweepy代码报Instance of 'API' has no 'me' member错误如何解决
报错原因
你遇到的报错是Tweepy版本迭代导致的方法移除问题:Tweepy v4.0及以上版本正式删除了API.me()方法,你当前安装的Tweepy版本高于等于4.0,调用已经下线的旧方法就会触发Instance of 'API' has no 'me' member的报错。
解决方法
你可以任选以下一种方案处理:
- 方案1:适配新版Tweepy,替换方法调用
把原有代码里的user = api.me()替换为user = api.verify_credentials()即可,该方法的返回值结构和原API.me()完全一致,都是返回当前授权账号的用户对象,其余代码无需修改。
调整后的代码片段如下:import tweepy import time consumer_key = '' consumer_secret = '' access_token = '' access_token_secret = '' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth, wait_on_rate_limit=True) # 替换原有api.me() user = api.verify_credentials() - 方案2:降级Tweepy到3.x版本
如果你不想修改现有业务代码,可以直接卸载当前版本重装旧版Tweepy,执行以下命令即可:pip install tweepy==3.10.0
额外注意
你贴出的示例代码还存在两个可能影响运行的问题:
- 变量名拼写错误:
cosnsuemr_key、cosnsuemr_secret拼写有误,正确应为consumer_key、consumer_secret,如果实际运行代码也保留该拼写会导致认证失败 - 缩进异常:
access_token定义到api实例化的代码段存在多余缩进,Python对缩进敏感,实际运行时需要调整为正确的层级。
内容的提问来源于stack exchange,提问作者mafond
相关产品推荐
相关产品推荐

