问题描述
Cassandra 2.1.1 版
Python 3.8 版
使用 CCM 在一台机器上运行 3 个虚拟 Cassandra 节点。
运行 cqlsh 时:获取以下堆栈跟踪。
C:\Users\manjr\.ccm\repository\2.1.1\bin>python cqlsh
cqlsh:491: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if custom_prompt is not '':
Traceback (most recent call last):
File "cqlsh",line 120,in <module>
from cqlshlib import cqlhandling,cql3handling,pylexotron,sslhandling,async_insert,meter
File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\cqlhandling.py",line 21,in <module>
from . import pylexotron,util
File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\pylexotron.py",line 304,in <module>
class ParsingRuleSet:
File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\pylexotron.py",line 305,in ParsingRuleSet
RuleSpecscanner = SaferScanner([
File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\saferscanner.py",line 32,in __init__
(SUBPATTERN,(len(p)+1,self.subpat(phrase,flags))),File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\saferscanner.py",line 41,in subpat
return cls.scrub_sub(re.sre_parse.parse(phrase,flags),flags)
File "C:\Users\manjr\.ccm\repository\2.1.1\bin\..\pylib\cqlshlib\saferscanner.py",line 59,in scrub_sub
raise ValueError("RE flag setting not allowed in SaferScanner lexicon (%s)" % (bin(sub.state.flags),))
ValueError: RE flag setting not allowed in SaferScanner lexicon (0b110010)
解决方法
Cassandra 2.1.1 根本不支持 Python 3.x。您需要安装 Python 2 才能运行。 Python 3 仅在即将发布的 4.0 中受支持。仅计划在 Cassandra 3.x 中支持 Python 3(请参阅 CASSANDRA-16403)