[ 
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

Reply via email to