卡桑德拉自动完成不工作



我有一个自动完成在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

安装pyreadline运行此命令

pip install pyreadline

pyreadline参考

上运行这个命令

Windows 7 64位

Python 2.7.12

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

我也遇到过这个问题。查看你有多少条蟒蛇。

which -a python

我有2个Python2s,不知怎么的,2.7.15是默认的二进制文件,并且cqlsh在这个版本中不能很好地工作(自动完成和历史记录不能工作)。

我的解决方案是将Python 2.7.10放在2.7.15之前的path

我也遇到过类似的问题。问题的根源在于python的readline

,请尝试

python -c 'import readline'

如果出现错误,它将引导您找到解决方案

最新更新