On Apr 18, 2009, at 1:08 PM, Mitchell L Model wrote:

Some library files, such as pdb.py, begin with
        #!/usr/bin/env python
In various discussions regarding some issues I submitted I was told that the decision had been made to call Python 3.x release executables python3. (One of the conflicts I ran into when I made 'python' a link to python3.1 was that some tools used in making the HTML documentation haven't been upgraded to run with 3.)

Shouldn't all library files that begin with the above line be changed so that they read 'python3' instead of python? Perhaps I should have just filed this as an issue, but I'm not confident of the state of the plan to move to python3 as the official executable name.

Hrmm ...

On installing from source, one either gets:

./bin/python3.0

Or is using 'make fullinstall':

./bin/python

So the default and the tutorial (http://docs.python.org/3.0/tutorial/interpreter.html ) refer to 'python3.0'. But I've done all my Python installs with 'make fullinstall' and then just manage my environment such that 'python' points to a 2.x or 3.x release depending upon what the source code I'm working on requires. If using something such as the Mac OS X Installer you'll get both a 'python' and 'python3.0'.

Are there some Python installers that provide './bin/python3'?

But if there sometimes just 'python', 'python3.0' or 'python3' then it's not possible for the shebang to work with both all known install methods ...

One could argue that executable files part of the python standard library should have their interpreter hard-coded to the python interpreter to which they are installed with, e.g.:

#!/Users/kteague/shared/python-3.0.1/bin/python

Of course, this would remove the ability for a Python installation to be re-located ... if you wanted to move the install, you'd need to re- install it in order to maintain the proper shebangs. But it would mean that these scripts would also use the correct interpreter regardless of a user's current environemnt.

Or, if the standard library was packaged such that all of it's scripts were advertised as console_scripts in the entry_points, it'd be easier for different install approaches to decide how to write out the shebang or to instead provide wrapper scripts for accessing those entry points (since it might be nice to have a ./bin/pdb). But that's a bit pie-in-the-sky since entry_points isn't even yet a part of the Distutils Metadata.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to