#!/usr/bin/python or #!/usr/bin/env python?
Christophe
chris.cavalaria at free.fr
Wed Aug 9 12:14:50 EDT 2006
Stephan Kuhagen a écrit :
>> Always prefer to use env over a hardcoded path, because that hardcoded
>> path will invariably be wrong. (Yes, for those about to nitpick, it's
>> conceivable that env might be somewhere other than /usr/bin. However,
>> that is very rare and results in a no-win situations regardless of the
>> issue of where Python is installed.)
>
> Don't yell at me for bringing in another language, but I really like the
> trick, Tcl does:
>
>> #!/bin/sh
>> # The next line starts Tcl \
>> exec tclsh "$0" "$@"
>
> This works by the somewhat weird feature of Tcl, that allows comments to be
> continued in the next line with "\" at the end of the comment-line. It
> looks unfamiliar, but has several advantages, I think. First it's really
> VERY unlikely, that there is no /bin/sh (while I found systems with
> different places for env), and you can add some other features at or before
> the actual call of the interpreter, i.e. finding the right or preferred
> version... - This way I coded a complete software-installer, that runs
> either as a Tcl/Tk-Script with GUI, or as bash-script, when no Tcl is
> available. - I really would like to have something like that for python,
> but I did not find a way to achieve that, yet.
>
> Regards
> Stephan
>
What about that one ( windows .bat file ) :
@echo off
rem = """-*-Python-*- script
rem -------------------- DOS section --------------------
rem You could set PYTHONPATH or TK environment variables here
python -x %~f0 %*
goto exit
"""
# -------------------- Python section --------------------
import sys
print sys.argv
DosExitLabel = """
:exit
rem """
I'm sure it can be updated to work on Unix too :)
More information about the Python-list
mailing list