[Distutils] Shebang lines, /usr/bin/python, and PEP394

Philip Jenvey pjenvey at underboss.org
Fri Jul 26 00:37:47 CEST 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On Jul 25, 2013, at 9:04 AM, Toshio Kuratomi wrote:

> Over on python-dev we're talking about Linux Distributions switching from
> python2 to python3, what steps they need to take and in what order.  One of
> the things that's come up [1]_ is that a very early step in the process is making
> sure that shebang lines use /usr/bin/python2 or /usr/bin/python3 as noted in
> PEP394 [2]_.  Faced with the prospect of patching a whole bunch of scripts
> in the distribution, I'm wondering what distutils, distlib, setuptools, etc
> do with shebang lines.
> * Do they rewrite shebang lines?

distutils, distlib and setuptools all do.

> * If so, do they use #!/usr/bin/python2 or do they use #!/usr/bin/python ?

I believe they are actually all using sys.executable

> * If the latter, is there hope that we could change that to match with PEP-394's
>  recommendations?  (setuptools seems to be moving relatively quickly these
>  days so that seems reasonably easy.... distutils is tied to the release
>  schedule of core python-2.7.x although if the change is accepted into the
>  CPython tree we might consider backporting it to the current distribution
>  package early.

What's the value of sys.executable in the brave new world of distributions that follow PEP 394?

- --
Philip Jenvey

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQEcBAEBCgAGBQJR8ai9AAoJEJ82HVHb51bRPsUH/0eH03riVb1EtruYxqQ0sFxZ
F0XhVPSdSfMgU63e1aXTeLs1KT+NwHjH5w25Zt024/Xizv/HhDFr8ElfsPjCZwW3
fUBUuSOcq9zuLsDuAvsRXPGuv5jRSZf8DiRExDFQjV1GZSuZ46ExOf3D/TJmbcOf
EibAzPzDCOZdgGTw4NcS2yzE9N/woyIjSyvJPXG8IyyFEFw9V4ZfpZL5uiKoKt0p
acbC8tzh0w79atsHN1tCalYhcXzIgAsAWBpXj18V4RKxjtZW9i1k5KQKmkKn2FLF
Vr5ELNjaoLFJ77RuBZWGN6GOv5rPh1C9PFzFRURrrSk4CWEma636GuktbpA3Kik=
=zzg5
-----END PGP SIGNATURE-----


More information about the Distutils-SIG mailing list