[Python-Dev] Bilingual scripts

Nick Coghlan ncoghlan at gmail.com
Sat May 25 09:57:28 CEST 2013

On Sat, May 25, 2013 at 5:56 AM, Barry Warsaw <barry at python.org> wrote:
> Have any other *nix distros addressed this, and if so, how do you solve it?

I believe Fedora follows the lead set by our own makefile and just
appends a "3" to the script name when there is also a Python 2
equivalent (thus ``pydoc3`` and ``pyvenv``). (I don't have any other
system provided Python 3 scripts on this machine, though)

> 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.

It seems to me the existing recommendation to use ``#!/usr/bin/env
python`` instead of referencing a particular binary already covers the
general case. The challenge for the distros is that we want a solution
that *ignores* user level virtual environments.

I think the simplest thing to do is just append the "3" to the binary
name (as we do ourselves for pydoc) and then abide by the
recommendations in PEP 394 to reference the correct system executable.


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list