Подтвердить что ты не робот

Не удалось открыть cqlsh Apache cassandra - ImportError: нет модуля cqlshlib

Я новичок в кассандре! Скачайте пакет 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

Спасибо заранее!

4b9b3361

Ответ 1

Прошло несколько дней, очистив чистые переименование копировальных пакетов.

Самый простой способ обхода этой ошибки:

pip install cqlsh

Ответ 2

Вы можете экспортировать PYTHONPATH, чтобы включить папку пакета сайта, где существует cqlshlib

Сначала найдите путь, где существует cqlshlib

find /usr/lib/ -name cqlshlib

Экспортировать путь, используя имя переменной ниже

export PYTHONPATH=/usr/lib/python2.7/site-packages/

Ответ 3

Если вы находитесь в каталоге cassandra, запустите:

bin/cqlsh

Если вы проверяете cqlsh, вы работаете с which cqlsh, я подозреваю, что вы нажимаете ccm один и что-то пропустили на своем пути.

Ответ 4

Я пробовал свои пути, но не смог. И я думаю, что cqlsh просто не может найти точный путь к cqlshlib.so;

Я решил это так:

  • Centos6.7,
  • datastax3.9,
  • 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, он работает.

Ответ 5

Я потратил почти 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/.

Просто для справки для других.

Ответ 6

Обход проблемы:

Я предполагаю, что вы уже установили 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.

Ответ 7

Просто запустите cqlsh с правами root,

  sudo cqlsh <ipaddress>