[ https://issues.apache.org/jira/browse/CASSANDRA-17832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17634522#comment-17634522 ]
Stefan Miklosovic commented on CASSANDRA-17832: ----------------------------------------------- I think we need this for Redhat-based distros [https://github.com/instaclustr/cassandra/commit/ec6fb6cc807a12593f666f860dbb3cf52fcb75ac] Basically, we need to turn off that shebang macro because even with python3, it will still expand it to /usr/libexec/platform-python and that binary is not present in CentOS at all (stuff I am trying that on). A lot of people online complain / ask about the presence of platform-python and there is not such thing. I built (noboolean) RPM on CentOS 7, run the thing and it just builds / installs that RPM fine and cqlsh.py does not have it expanded (it stays #!/usr/bin/env python3) CI with that change in running here : https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2077/ > Change bin/cqlsh.py shebang to use PATH with env prefix > ------------------------------------------------------- > > Key: CASSANDRA-17832 > URL: https://issues.apache.org/jira/browse/CASSANDRA-17832 > Project: Cassandra > Issue Type: Improvement > Components: CQL/Interpreter > Reporter: Brad Schoening > Assignee: Brad Schoening > Priority: Low > Fix For: 4.x > > Time Spent: 10m > Remaining Estimate: 0h > > For cqlsh.py this: > #!/usr/bin/env python > is preferable to the current hard coded /usr/bin/python3 which doesn't take > into account the python interpreter preferences in the users PATH. > '{{{}env{}}}' is a system binary in {{/usr/bin}} that searches {{$PATH}} for > strings containing the provided argument and returns the first instance it > finds. In the above syntax, {{env}} will search for the first instance of > {{python}} in {{$PATH}} and return it. > This is aligned with the recommendations in > [https://peps.python.org/pep-0394/] > For example, on a MacOS: > > {code:java} > % /usr/bin/python3 --version > Python 3.8.9. (xcode python version) > % /usr/bin/env python --version > Python 3.10.6. (brew python version) > % python --version > Python 3.10.6. (default) > {code} > Thus, /usr/bin/python3 doesn't run the expected default python version > Even the official Python tutorial uses the /usr/bin/env form of shebang: > [https://docs.python.org/3/tutorial/interpreter.html] > > -- 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