[Python-Dev] New update to PEP397 - Python launcher for Windows
Glenn Linderman
v+python at g.nevcal.com
Fri Jul 22 01:12:45 CEST 2011
On 7/20/2011 11:35 PM, Mark Hammond wrote:
> Virtual commands in shebang lines:
>
> Virtual Commands are shebang lines which start with strings which would
> be expected to work on Unix platforms - examples include
> '/usr/bin/python', '/usr/bin/env python' and 'python'. Optionally, the
> virtual command may be suffixed with a version qualifier (see below),
> such as '/usr/bin/python2' or '/usr/bin/python3.2'. The command executed
> is based on the rules described in Python Version Qualifiers below.
I note in passing that '/usr/bin/env python' is hard-coded in the
launcher, which conforms to the above documentation. But there is no
hard requirement in Unix, if I correctly understand it, that
'/usr/bin/env' be separated from 'python' (or whatever) by exactly one
space. While I doubt it is frequently used with other than a single
space, I think it would be legal to have 2 or 3 or 10 spaces, and maybe
even tabs or a mixture, and it would work on Unix... but not in the
launcher.
It would somewhat complicate the launcher code to have an additional
case to check for /usr/bin/env, skip following white space, and then
compare to python, but it would be more robust.
If it is thought that hard-coding a single space covers most of the
uses, it should at least be emphasized in the documentation that only
commands of than nature containing a single space will work with the
launcher.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20110721/9ae3d4f4/attachment.html>
More information about the Python-Dev
mailing list