Ubuntu20.04运行Python代码提示No module named 'redis._compat'求助
问题分析
这个错误是因为**rediscluster包与当前安装的redis包版本不兼容**导致的:
- 旧版
rediscluster依赖redis包中的redis._compat模块,但redis4.0+版本已经移除了这个模块,因此触发ModuleNotFoundError。 - Windows环境运行正常,是因为你的Windows Python环境中安装的
redis版本低于4.0,刚好和rediscluster版本兼容。
解决方案
提供两种可行的解决方式,根据你的需求选择:
方式一:降级redis到兼容版本
如果想继续使用旧版rediscluster包,需要把redis降级到4.0以下:
- 先查看当前已安装的版本:
pip list | grep -E "redis|rediscluster" - 降级
redis:pip install redis<4.0 - 确保
rediscluster版本与降级后的redis兼容,比如安装稳定兼容的版本:pip install rediscluster==2.1.3
方式二:使用官方redis包的集群功能(推荐)
从redis 4.0版本开始,官方已经原生支持Redis集群,不再需要单独安装rediscluster包:
- 卸载旧的
rediscluster包:pip uninstall -y rediscluster - 安装新版
redis包:pip install redis>=4.0 - 修改代码中的导入语句为官方集群模块:
from redis.cluster import RedisCluster
内容的提问来源于stack exchange,提问作者Reza
相关产品推荐
相关产品推荐

