[Distutils] python setup.py bdist_egg results depend on dir location

Phillip J. Eby pje at telecommunity.com
Wed Dec 14 22:32:34 CET 2005

At 12:59 PM 12/14/2005 -0800, Todd Greenwood-Geer wrote:
>Hash: SHA1
>I would like to be able to execute the egg build from several
>directories, like so:
>$ cd active/SimpleExampleEgg
>$ python setup.py bdist_egg
>then, at other times, i'd like to change to a package directory and
>execute the builds from there:
>$ cd active/SimpleExampleEgg/fruit/docs
>$ python ../../setup.py bdist_egg

Stop right there.  The distutils do *not* support this, and neither does 
setuptools.  'setup.py' scripts *must* be run from the directory where they 
are located, so I didn't bother reading the rest of your message.

If you want to run setup.py this way, you should 'easy_install buildutils' 
and then use its "pbu" command, e.g.:

    pbu bdist_egg

The "pbu" command automatically searches parent directories for a setup.py, 
then changes to the directory where the setup.py was found, and runs it for 
you.  This is the only safe way to do it.

(When "pbu" exits, you will however still be in the directory you were in 

More information about the Distutils-SIG mailing list