[Python-Dev] Bilingual scripts (original) (raw)
Barry Warsaw barry at python.org
Fri May 24 21:56:29 CEST 2013
- Previous message: [Python-Dev] _PyString_InsertThousandsGrouping()
- Next message: [Python-Dev] Bilingual scripts
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Here's something that seems to come up from time to time in Debian.
Take a Python application like tox, nose, or pyflakes. Their executables work with both Python 2 and 3, but require a #! line to choose which interpreter to invoke.
When we add Python 3 support in Debian for such a script, all the library
installations are handled just fine, but we have conflicts about what to name
the thing that lands in /usr/bin. Do we have /usr/bin/pyflakes and
/usr/bin/pyflakes3? Do we call the latter py3flakes (as has been convention
with some other scripts, but which breaks locate(1))? Do we simply remove the
/usr/bin scripts and encourage people to use something like $python -m nose
?
One interesting recent suggestion is to create a shell driver script and make that thing accept --py3 and --py2 flags, which would then select the appropriate interpreter and invoke the actual Python driver. There are some technical details to iron out with that, but there's some appeal to it.
Have any other *nix distros addressed this, and if so, how do you solve it? It would be nice if we could have some cross-platform recommendations so things work the same wherever you go. To that end, if we can reach some consensus, I'd be willing to put together an informational PEP and some scripts that might be of general use.
-Barry -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: not available URL: <http://mail.python.org/pipermail/python-dev/attachments/20130524/bf19230f/attachment.pgp>
- Previous message: [Python-Dev] _PyString_InsertThousandsGrouping()
- Next message: [Python-Dev] Bilingual scripts
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]