Redis模块无RedisCluster属性问题求助(Ubuntu22.04+Python3.10)
解决RedisCluster找不到的AttributeError问题
问题原因
从redis-py 4.0版本开始,官方已将RedisCluster功能整合到主包中,但导入路径发生变更——RedisCluster不再直接位于顶层redis模块下,而是移至redis.cluster子模块内。另外,旧第三方包redis-py-cluster已被官方弃用,与新版redis包共存会引发冲突。
解决步骤
1. 清理并升级redis包
先彻底卸载旧包,再安装最新版官方redis包:
pip uninstall -y redis redis-py-cluster pip install --upgrade redis
2. 修改代码的导入逻辑
将导入方式改为从redis.cluster加载RedisCluster,修改后的完整代码如下:
from redis.cluster import RedisCluster ssl_ca_certs='<path_to_ca_certfile>' r = RedisCluster( host='<RedisHOST>', port=6379, ssl=True, password='<password>', ssl_ca_certs=ssl_ca_certs )
3. 验证导入有效性(可选)
运行以下代码确认模块结构是否正常:
import redis print(dir(redis)) # 顶层模块中不会出现RedisCluster from redis.cluster import RedisCluster print(RedisCluster) # 能正常输出类信息即表示导入成功
内容的提问来源于stack exchange,提问作者user51
相关产品推荐
相关产品推荐

