[Distutils] easy_install adds bad interpreter shebang to installed scripts

Tres Seaver tseaver at palladion.com
Thu Dec 18 00:48:56 CET 2008

Hash: SHA1

Felix Schwarz wrote:

> I'm using Python 2.5 on Fedora Linux 9. If the path to the interpreter 
> contains spaces and I install some eggs with scripts using easy_install, 
> all installed scripts will have a non-functional shebang line like this:
> #!"/home/foo bar/bin/python"
> On Linux (and I think this is true for all Un*x flavors) you can not 
> quote the shebang path and there is no way around this [1].
> To make it more clear where the problem is I attached some kind of 
> 'patch'. My idea was that quoting shebang paths seem to work on Windows 
> (at least this was my impression from reading the changelogs) but on 
> Linux there is no way to generate a working shebang line with an 
> absolute path. Therefore it would help me if /usr/bin/env is queried.
> Probably this will break for some people but currently the behavior is 
> broken for everyone. With virtualenv you have to call activate (instead 
> of calling the installed script directly) but then everything will work 
> fine.
> Do you consider this a kind of bug you might be inclined to fix?

I *never* want to see /usr/bin/env in a generated script's shebang:  I
want the script to use the python which was used to install it, and no

- From my POV, I don't understand why on a Linux box you would choose to
ape Windows and use broken paths to important system components:  "just
say no" to paths with spaces works for me.

- --
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Distutils-SIG mailing list