[Distutils] setuptools requires bash, not sh.

Anthony Baxter anthony at interlink.com.au
Wed Jan 24 07:05:27 CET 2007

From the top of an egg file:

if [[ `basename $0` = "setuptools-0.6c5-py2.4.egg" ]]
then ...

That syntax is a bashism, not /bin/sh. 

-bash-2.05b$ sh ./setuptools-0.6c5-py2.4.egg --prefix=~
./setuptools-0.6c5-py2.4.egg: [[: not found
./setuptools-0.6c5-py2.4.egg is not the correct name for this egg 
Please rename it back to setuptools-0.6c5-py2.4.egg and try again.

This is broken for Solaris (which doesn't have bash, by default), on 
recent Ubuntu (which has /bin/dash as /bin/sh, not bash) and any 
other Unix that doesn't have bash as /bin/sh.

Anthony Baxter     <anthony at interlink.com.au>
It's never too late to have a happy childhood.

More information about the Distutils-SIG mailing list