Cassandra自动完成功能不起作用

时间:2016-10-18 18:40:46

标签: java python cassandra cqlsh

我在Cassandra 3.9客户端中遇到自动完成问题" cqlsh",我不知道为什么?我在MacOS Sierra上更新了我的brew命令。我想这个问题是python更新,但它是如何相关的?

我试图执行测试:

$ cd apache-cassandra-3.9/pylib/cqlshlib/test
$ python test_cqlsh_completion.py

但是我收到了这个错误:

Traceback (most recent call last):
  File "test_cqlsh_completion.py", line 23, in <module>
    from .basecase import BaseTestCase, cqlsh
ValueError: Attempted relative import in non-package

有人知道任何解决方案吗?

如果我列出它显示的目录:

$ ls apache-cassandra-3.9/pylib/cqlshlib/test

__init__.py              basecase.py              
run_cqlsh.py             test_cqlsh_commands.py   
test_cqlsh_invocation.py test_cqlsh_parsing.py    
winpty.py                ansi_colors.py           
cassconnect.py           test_cql_parsing.py      
test_cqlsh_completion.py test_cqlsh_output.py     
test_keyspace_init.cql

4 个答案:

答案 0 :(得分:1)

您的包裹文件夹中没有__init__.py

答案 1 :(得分:1)

安装 pyreadline 运行此命令

pip install pyreadline

pyreadline reference

  

我在

上运行此命令      

Windows 7 64位

     

Python 2.7.12

答案 2 :(得分:0)

我也遇到了这个问题。 检查一下您有多少个python。

which -a python

我有2个Python2,并且默认情况下2.7.15是二进制文件,而cqlsh在该版本中无法正常工作(自动完成和历史记录均无效)。

对我来说,解决方法是将2.7.15之前的Python 2.7.10放在路径中

答案 3 :(得分:0)

我有一个类似的问题。问题的根源在于python的 readline 软件包

请尝试

python -c 'import readline'

如果遇到错误,它将引导您解决问题