On 06Nov2022 20:51, jak <nos...@please.ty> wrote:
Il 06/11/2022 11:03, Chris Green ha scritto:
I have a number of python scripts that I run on a mix of systems.  I
have updated them all to run on python 3 but many will also run quite
happily with python 2.  They all have a #!/usr/bin/python3 shebang.

I usually use:

    #!/usr/bin/env python3

This runs the default "python3" from my $PATH, whatever that is, avoiding a hardwired path to the python3 executable.

This works almost everywhere but there is one system where only
python 2 is available (at /usr/bin/python).

I don't have python 2 on any of the systems I manage myself now so a
#!/usr/bin/python shebang will fail.

Is there a neat way of handling this?  I could write a sort of wrapper
script to run via the shebang but that seems overkill to me.

It is overkill. I generally dislike batch editing scripts.

1: do these scripts work on both python2 and python3? It seems like they would need to. 2: write a tiny script _named_ "python3" which invokes python 2. I keep a personal "~/bin-local" directory for just such per-system special commands like this. 3: with your pseudo "python3" script in place, make all the scripts use the "#!/usr/bin/env python3" shebang suggested above.

Cheers,
Cameron Simpson <c...@cskk.id.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to