Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 668 Vote(s) - 3.48 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Unable to open cqlsh Apache cassandra - ImportError: No module named cqlshlib

#1
I am new to cassandra ! Have downloaded the apacahe cassandra 2.1.2 package and initialy was able to connect to cqlsh but then after installing CCM i am unable to connect , will get the following error

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


Thanks in advance !
Reply

#2
If you're in the cassandra directory, run:

bin/cqlsh

If you check the cqlsh you're running with `which cqlsh` i suspect you're hitting the ccm one and missing something in your path.
Reply

#3
I have spent nearly 1 day to solve this problem. The reason is that there is a mismatch between /usr/lib/python2.7/site-packages/ and /usr/local/lib/python2.7/site-packages/ (for my specific folder tree).

The command to use is as the following:

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

I guess you will find 2 /site-packages/ also.

Just for reference for others.
Reply

#4
I have tried their ways, but failed. And I think `cqlsh` just cannot find the exact path to `cqlshlib.so`;

I solved it this way:

* Centos6.7 ,
* datastax3.9,
* my `cqlshlib` path:`/usr/local/lib/python2.7/site-packages/`

vim /usr/bin/cqlsh.py

and add the path of `cqlshlib` after `import sys`, the file looks like:

...
import sys
...
from uuid import UUID
sys.path.append("/usr/local/lib/python2.7/site-packages") #add this sentence`

Then I execute `cqlsh`, it works.
Reply

#5
Spent a couple of days, scouring the net moving renaming copying packages .

Easiest workaround for this error that worked :

`pip install cqlsh`
Reply

#6
**Workaround:**

I assume that you have already installed Cassandra and cqlshlib has been installed in */usr/lib/python2.7/site-packages/*

`ln -s /usr/lib/python2.7/site-packages/cqlshlib /usr/local/lib/python2.7/site-packages/cqlshlib`

(replace /usr/lib/python2.7/site-packages with your python directory).

**More Detail:**

One possibility is that your default python is not in `/usr/bin/`. Say it has been installed in `/usr/local/bin/`. However, Cassandra seems to install cqlshlib in `/usr/lib/python2.7/site-packages` for some reason. As a result, the default python cannot find cqlshlib package when you run cqlsh command.
Reply

#7
You could export PYTHONPATH, to include site package folder where cqlshlib exists

First find the path where cqlshlib exists

find /usr/lib/ -name cqlshlib

Export the path using below variable name

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

#8
Just start cqlsh with root,

sudo cqlsh <ipaddress>
Reply

#9
The other answers correctly diagnose the problem.
You need to find the correct cqlshlib.
I had installed cassandra with `apt get` to Ubuntu, so the correct path for me was
`/usr/local/apache-cassandra-3.11.3/pylib`

I had also messed things up by previously doing `pip install cqlsh` This is NOT supported by the apache team!

Like another answer here, I hacked the cqlsh.py file in `/usr/bin`

My successful hack was to replace the commented out line with the line below it.

#cqlshlibdir = os.path.join(CASSANDRA_PATH, 'pylib')
cqlshlibdir = "/usr/local/apache-cassandra-3.11.3/pylib"

Reply

#10
As Cassandra supports python2 and you are on python3 and don't wanna mix both follow the below trick worked for me.

1. Install python2 but don't add it to the environmental path variable
2. navigate to the bin folder and start the Cassandra server `.\cassandra -f`
3. open another terminal and create virtual env in Cassandra home directory using below command `virtualenv -p C:\Python27\python.exe .\venv`
4. activate the virtual env with cmd `.\venv\Scripts\activate.ps1`
5. start the cqlsh using the cmd `.\cqlsh.bat` in virtual env

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through