[ 
https://issues.apache.org/jira/browse/CASSANDRA-10190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16490899#comment-16490899
 ] 

Patrick Bannister commented on CASSANDRA-10190:
-----------------------------------------------

Python 2.7 end of life, including security updates, is planned for 1 January 
2020. We should port cqlshlib to Python 3, or make it Python 2.7/3.x cross 
compatible.

I'm close to finishing a port to Python 3 that passes almost all of the 
cqlshlib unittests and the dtest cqlsh_tests on Ubuntu 16.04 LTS and CentOS 7.5 
- I'm just working out some environmental issues that manifest on CentOS.

Regardless of whether we go to straight Python 3 or a 2/3 cross compatible 
implementation, we have to get things working in Python 3. 
([http://python3porting.com/strategies.html] has a good discussion on this 
point.)

If we go with a cross compatible implementation, we would introduce complexity 
and carry a long term technical debt. For that reason, I personally prefer a 
straight Python 3 implementation. However, it may be easier for many users to 
transition to a cross compatible implementation, so we should at least consider 
it.

Thorough testing would be important. After I get all the tests running, I'm 
planning to use [coverage.py|https://coverage.readthedocs.io/en/coverage-4.5.1] 
to identify areas of cqlshlib that aren't well tested by our current tests, so 
we'll know what features need more scrutiny. We will probably need users to 
help with testing if we hope to catch all the bugs.

> Python 3 support for cqlsh
> --------------------------
>
>                 Key: CASSANDRA-10190
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10190
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Andrew Pennebaker
>            Priority: Major
>              Labels: cqlsh
>
> Users who operate in a Python 3 environment may have trouble launching cqlsh. 
> Could we please update cqlsh's syntax to run in Python 3?
> As a workaround, users can setup pyenv, and cd to a directory with a 
> .python-version containing "2.7". But it would be nice if cqlsh supported 
> modern Python versions out of the box.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to