[ https://issues.apache.org/jira/browse/CASSANDRA-18642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17739037#comment-17739037 ]
Stefan Miklosovic edited comment on CASSANDRA-18642 at 6/30/23 11:31 AM: ------------------------------------------------------------------------- OK this is interesting, so nothing has to be done in cqlsh.py but Amazon Linux has these directories as site packages: {code} python3 -m site sys.path = [ '/home/ec2-user', '/usr/lib64/python39.zip', '/usr/lib64/python3.9', '/usr/lib64/python3.9/lib-dynload', '/usr/lib64/python3.9/site-packages', '/usr/lib/python3.9/site-packages', ] {code} But 4.1.2 installed it into /usr/lib/python3.6/site-packages There is no python3.6 in my system. {code} [ec2-user@ip-172-31-27-5 ~]$ python3 --version Python 3.9.16 [ec2-user@ip-172-31-27-5 ~]$ python3.9 --version Python 3.9.16 [ec2-user@ip-172-31-27-5 ~]$ python --version -bash: python: command not found [ec2-user@ip-172-31-27-5 ~]$ python3.6 --version -bash: python3.6: command not found {code} As this requires 3.6 (1) at least, it pretends as if it run with 3.6 and it copies files to 3.6 even there is Python 3.9 installed? (1) https://github.com/apache/cassandra/blob/trunk/redhat/cassandra.spec#L50 was (Author: smiklosovic): OK this is interesting, so nothing has to be done in cqlsh.py but Amazon Linux has these directories as site packages: {code} python3 -m site sys.path = [ '/home/ec2-user', '/usr/lib64/python39.zip', '/usr/lib64/python3.9', '/usr/lib64/python3.9/lib-dynload', '/usr/lib64/python3.9/site-packages', '/usr/lib/python3.9/site-packages', ] {code} But 4.1.2 installed it into /usr/lib/python3.6/site-packages There is no python3.6 in my system. {code} [ec2-user@ip-172-31-27-5 ~]$ python3 --version Python 3.9.16 [ec2-user@ip-172-31-27-5 ~]$ python3.9 --version Python 3.9.16 [ec2-user@ip-172-31-27-5 ~]$ python --version -bash: python: command not found [ec2-user@ip-172-31-27-5 ~]$ python3.6 --version -bash: python3.6: command not found {code} > cqlsh on Cassandra 4.1.2 fails on Amazon Linux > ----------------------------------------------- > > Key: CASSANDRA-18642 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18642 > Project: Cassandra > Issue Type: Bug > Components: CQL/Interpreter, Packaging > Reporter: Stefan Miklosovic > Priority: Normal > > I am on the newest Amazon Linux Version 2023.1.20230629 > When I install cassandra-4.1.2 from Yum repository, it starts fine but cqlsh > prints this: > {code} > [ec2-user@ip-172-31-27-5 ~]$ cqlsh > Traceback (most recent call last): > File "/usr/bin/cqlsh.py", line 148, in <module> > from cqlshlib import cql3handling, pylexotron, sslhandling, > cqlshhandling, authproviderhandling > ModuleNotFoundError: No module named 'cqlshlib' > {code} > If I change in /usr/bin/cqlsh.py > {code} > cqlshlibdir = os.path.join(CASSANDRA_PATH, 'pylib') > {code} > to this > {code} > cqlshlibdir = os.path.join('/usr/lib/python3.6', 'site-packages') > {code} > it works. > I am not sure if this is the correct way to handle that as not everybody has > python3.6. There is also no symlink pointing to this. I guess we would need > to find where packages are for Python we are going to use in cassandra.spec > and then change cqlsh.py to reflect that? > {code} > [ec2-user@ip-172-31-27-5 /]$ sudo find -type d -name site-packages > ./usr/lib/python3.9/site-packages > ./usr/lib/python3.6/site-packages > ./usr/lib64/python3.9/site-packages > {code} > I think we need to pass whatever this (1) expands to here (2) > (1) https://github.com/apache/cassandra/blob/trunk/redhat/cassandra.spec#L167 > (2) https://github.com/apache/cassandra/blob/trunk/bin/cqlsh.py#L78 -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org