我有一个自动完成在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'
如果出现错误,它将引导您找到解决方案