Barry Warsaw <ba...@debian.org> writes:

> On Jun 23, 2016, at 11:17 AM, Ben Finney wrote:
>
> >There isn't, AFAIK, anything portable that I can write in the shebang
> >to turn a command invocation of ‘./foo/bar.py’ into ‘python3 -m
> >foo.bar’.
>
> Why not just have a file that contains only?
>
>     exec python3 -m foo.bar

Because that's not something I can write in the shebang of an existing
Python file, and expect it to work as I move around the directory that
contains the file.

There's no obvious way to tell the kernel (via the shebang line in the
Python file) how to execute this file via a Python interpreter, without
hitting the failure scenarios documented in PEP 366.

This is unlike Perl. Heck, it's unlike Make and Awk and Sed.

The case I'm making is that Python breaks the “put the interpreter
command in the shebang, and it'll work” criterion for Python to be
called a Unix scripting language.

-- 
 \       “I am amazed, O Wall, that you have not collapsed and fallen, |
  `\            since you must bear the tedious stupidities of so many |
_o__)                  scrawlers.” —anonymous graffiti, Pompeii, 79 CE |
Ben Finney

Reply via email to