Ответ 1
Прошло несколько дней, очистив чистые переименование копировальных пакетов.
Самый простой способ обхода этой ошибки:
pip install cqlsh
Я новичок в кассандре! Скачайте пакет apacahe cassandra 2.1.2, и initialy смог подключиться к cqlsh, но после установки CCM я не могу подключиться, вы получите следующую ошибку:
Traceback (most recent call last):
File "bin/cqlsh", line 124, in <module>
from cqlshlib import cql3handling, cqlhandling, pylexotron,sslhandling, copy
ImportError: No module named cqlshlib
Спасибо заранее!
Прошло несколько дней, очистив чистые переименование копировальных пакетов.
Самый простой способ обхода этой ошибки:
pip install cqlsh
Вы можете экспортировать PYTHONPATH, чтобы включить папку пакета сайта, где существует cqlshlib
Сначала найдите путь, где существует cqlshlib
find /usr/lib/ -name cqlshlib
Экспортировать путь, используя имя переменной ниже
export PYTHONPATH=/usr/lib/python2.7/site-packages/
Если вы находитесь в каталоге cassandra, запустите:
bin/cqlsh
Если вы проверяете cqlsh, вы работаете с which cqlsh
, я подозреваю, что вы нажимаете ccm один и что-то пропустили на своем пути.
Я пробовал свои пути, но не смог. И я думаю, что cqlsh
просто не может найти точный путь к cqlshlib.so
;
Я решил это так:
my cqlshlib
путь: /usr/local/lib/python2.7/site-packages/
vim/usr/bin/cqlsh.py
и добавьте путь cqlshlib
после import sys
, файл выглядит так:
...
import sys
...
from uuid import UUID
sys.path.append("/usr/local/lib/python2.7/site-packages") #add this sentence`
Затем я выполняю cqlsh
, он работает.
Я потратил почти 1 день на решение этой проблемы. Причина в том, что существует несоответствие между/usr/lib/python2.7/site-packages/и/usr/local/lib/python2.7/site-packages/(для моего конкретного дерева папок).
Используемая команда:
mv /usr/lib/python2.7/site-packages/* /usr/local/lib/python2.7/site-packages/
rmdir /usr/lib/python2.7/site-packages
ln -s /usr/local/lib/python2.7/site-packages /usr/lib/python2.7/site-packages
Я думаю, вы найдете 2/site-packages/.
Просто для справки для других.
Обход проблемы:
Я предполагаю, что вы уже установили Cassandra, а cqlshlib был установлен в /usr/lib/python 2.7/site-packages/
`ln -s /usr/lib/python2.7/site-packages/cqlshlib /usr/local/lib/python2.7/site-packages/cqlshlib`
(замените/usr/lib/python2.7/site-packages на каталог python).
Подробнее:
Одна из возможностей заключается в том, что ваш python по умолчанию не находится в /usr/bin/
. Скажем, он был установлен в /usr/local/bin/
. Однако, по некоторым причинам, Cassandra, кажется, устанавливает cqlshlib в /usr/lib/python2.7/site-packages
. В результате, python по умолчанию не может найти пакет cqlshlib при запуске команды cqlsh.
Просто запустите cqlsh с правами root,
sudo cqlsh <ipaddress>