I upgraded my Ubuntu 14.04 development system to 16.04 in August with the first point release. I have to say the upgrade process when really smooth. There where small issues with PHP and Python. The only painful issue I had was with Cassandra and CqlSh. The python version which is shipped with Ubuntu 16.04 is 2.7.12 and the version CqlSh is targeted is 2.7.11.
When I tried to connect to CqlSh I got the following error:
Connection error: ('Unable to connect to any servers', {'127.0.0.1': TypeError('ref() does not take keyword arguments',)})
There are couple painful, and not so painful ways to downgrade python to the required version, but as I use DataStax’s DevCenter as a visual tool, so I did not bother. Applications built with Cassandra can still run as this is a bug in CqlSh.
Last week I did setup a headless Ubuntu 16.04 as development server for projects which going to use Cassandra among other tools. In this setup developers need to have access to CqlSh, so I had to find a solution for this problem. The least painful way is to install/upgrade the Cassandra python driver trough pip, with the following process:
# Keep everything updated apt update && apt upgrade # Install pip apt install python-pip pip install --upgrade pip #Install the latest python driver pip install cassandra-driver # Export a user variable to override the bundled driver export CQLSH_NO_BUNDLED=true # To make the above permanent for all users echo "CQLSH_NO_BUNDLED=true" >> /etc/environment
After this CqlSh should be up and running as normal
[email protected]:~# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.7.0 | CQL spec 3.4.2 | Native protocol v4] Use HELP for help.
Thank you. It worked.
[email protected]:~# cqlsh 192.10.10.10
Traceback (most recent call last):
File “/usr/bin/cqlsh”, line 109, in
from cassandra.cluster import Cluster, PagedResult
ImportError: cannot import name PagedResult