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" <eryk...@gmail.com> wrote:
> On Sat, Nov 14, 2015 at 8:26 PM, Zachary Ware > <zachary.ware+pyl...@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 > -- https://mail.python.org/mailman/listinfo/python-list