cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Ash (Created) (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-4090) cqlsh can't handle python being a python3
Date Tue, 27 Mar 2012 07:35:54 GMT
cqlsh can't handle python being a python3

                 Key: CASSANDRA-4090
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 1.0.8
         Environment: On Archlinux, where Python3 installations are default (most distros
currently use Python2 as default now)

$ ls -l `which python` 
lrwxrwxrwx 1 root root 7 Nov 21 09:05 /usr/bin/python -> python3
            Reporter: Andrew Ash
         Attachments: python3-fix.patch

cqlsh fails to run when {{python}} is a Python 3, with this error message:

andrew@spite:~/src/cassandra-trunk/bin $ ./cqlsh 
  File "./cqlsh", line 97
    except ImportError, e:
SyntaxError: invalid syntax
andrew@spite:~/src/cassandra-trunk/bin $ 

The error occurs because the cqlsh script checks for a default installation of python that
is older than a certain version, but not one newer that is incompatible (e.g. Python3).  To
fix this, I update the logic to only run {{python}} if it's a version at least 2.5 but before
3.0  If this version of python is in that range then role with it, otherwise try python2.6,
python2.7, then python2.5 (no change from before).

This is working on my installation, where {{python}} executes python 3.2.2 and doesn't break
backwards compatibility to distributions that haven't made the jump to Python3 as default

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message