我在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
答案 0 :(得分:1)
您的包裹文件夹中没有__init__.py
答案 1 :(得分:1)
安装 pyreadline 运行此命令
pip install pyreadline
我在
上运行此命令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'
如果遇到错误,它将引导您解决问题