Ubuntu 24.04安装Apache Cassandra后运行cqlsh报six.moves模块缺失错误
解决Ubuntu 24.04 LTS上cqlsh运行时
ModuleNotFoundError: No module named 'six.moves'错误 方案1:安装缺失的six模块
错误核心是Python环境缺少six依赖库,直接通过pip安装即可:
sudo pip3 install six
安装完成后重新运行cqlsh,多数情况下问题可解决。
方案2:适配Python 3.12兼容性
Ubuntu 24.04默认Python 3.12,而Cassandra自带的3.25.0版本驱动与该版本存在兼容问题,可通过以下步骤修复:
- 安装系统版兼容Python 3.12的Cassandra驱动:
sudo pip3 install --upgrade cassandra-driver
- 修改
cqlsh.py的导入逻辑,改用系统驱动而非自带压缩包:- 打开
/usr/bin/cqlsh.py,找到以下代码段并注释:# Add the bundled driver to the path driver_path = os.path.join(CASSANDRA_PATH, 'lib', 'cassandra-driver-internal-only-3.25.0.zip') sys.path.insert(0, driver_path) - 保存文件后重新运行
cqlsh。
- 打开
方案3:降级Python版本到3.10
若上述方案无效,可切换到Cassandra驱动兼容的Python 3.10版本:
- 安装Python 3.10及对应pip:
sudo apt update && sudo apt install python3.10 python3.10-pip
- 为Python 3.10安装
six模块:
sudo python3.10 -m pip install six
- 修改
cqlsh.py的解释器路径:- 打开
/usr/bin/cqlsh.py,将第一行#!/usr/bin/env python3改为:#!/usr/bin/env python3.10 - 保存后运行
cqlsh即可。
- 打开
内容的提问来源于stack exchange,提问作者arturo r
相关产品推荐
相关产品推荐

