What meaning is of '#!python'?

paul.hermeneutic at gmail.com paul.hermeneutic at gmail.com
Sun Nov 15 23:54:41 EST 2015


The installer of some applications will replace the shebang to refer to a
specific version of Python. By doing so, it avoids problems when someone
upgrades the default Python version in the PATH.
On Nov 14, 2015 11:00 PM, "eryksun" <eryksun at gmail.com> wrote:

> On Sat, Nov 14, 2015 at 8:26 PM, Zachary Ware
> <zachary.ware+pylist at gmail.com> wrote:
> >
> > "#!python" is a valid shebang for the Python Launcher for Windows.
> > It's also a not-too-terrible placeholder for a Unix shebang meaning
> > "whichever Python you want it to be".  The better choice for use with
> > both platforms would be "#!/usr/bin/env python", though.
>
> The "/usr/bin/env python" virtual command searches the directories in
> PATH, trying each file extension from PATHEXT such as "python.COM",
> "python.EXE", and so on. You can also search for other programs such
> as "pypy". Note that qualifying "python" (but not other names) as
> "python2" or "python3.5" makes the launcher use the registry instead
> of searching PATH.
>
> "#!/usr/bin/python" may be better in some cases. This defaults to the
> latest installed version of 2.x (or 3.x if no 2.x is installed) that's
> configured in the Windows registry. Or specify "python2" or "python3"
> to use the latest 2.x or 3.x. These commands can be configured to use
> a particular major[.minor[-32]] version via the environment variables
> PY_PYTHON, PY_PYTHON2, and PY_PYTHON3. Or you can configure them
> instead by setting the "python", "python2" and "python3" keys in the
> [defaults] section of the configuration file "%LOCALAPPDATA%\py.ini".
> Note that the environment variable overrides the corresponding py.ini
> key.
>
> When portability isn't a concern you can use a Windows path in the
> shebang such as "#!C:\pypy40\pypy.exe".
>
> https://docs.python.org/3/using/windows.html#shebang-lines
> --
> https://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list