Windows 11下启动Cassandra的cqlsh报错,求解决方案
解决Cassandra cqlsh启动语法错误问题
错误原因
你遇到的except ImportError, e:语法错误,是因为Cassandra 3.11.x版本的cqlsh基于Python 2.x开发,但你的系统默认使用Python 3.x。Python 3已废弃except 异常类, 变量的写法,改用except 异常类 as 变量,因此触发语法报错。你之前修改的start_rpc和enable_user参数和这个问题无关。
解决方案
方案1:安装Python 2.7并配置优先级
- 下载Python 2.7.x的Windows安装包,安装时勾选「Add Python to PATH」;若未勾选,手动将Python 2.7的安装目录(如
C:\Python27)和其下的Scripts目录添加到系统环境变量PATH最前端 - 打开新的命令提示符窗口,输入
python --version确认显示为Python 2.7.x,再执行cqlsh即可正常启动
方案2:修改cqlsh.py适配Python 3
- 找到文件
C:\apache-cassandra-3.11.14\bin\cqlsh.py - 打开文件,全局替换所有
except [异常类], e:的写法为except [异常类] as e:(不止第146行,需检查所有类似语法) - 保存修改后,重新执行
cqlsh
内容的提问来源于stack exchange,提问作者Rangga Saputra
相关产品推荐
相关产品推荐

