You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brad Schoening (Jira)" <ji...@apache.org> on 2022/11/12 23:17:00 UTC

[jira] [Updated] (CASSANDRA-17832) Change bin/cqlsh.py shebang to use PATH with env prefix

     [ https://issues.apache.org/jira/browse/CASSANDRA-17832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brad Schoening updated CASSANDRA-17832:
---------------------------------------
    Description: 
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 /usr/bin/env: [https://docs.python.org/3/tutorial/interpreter.html]

 

 

  was:
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

 

 

 

 


> 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
>            Reporter: Brad Schoening
>            Priority: Normal
>
> 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 /usr/bin/env: [https://docs.python.org/3/tutorial/interpreter.html]
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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