[Distutils] Creating a new installation layout

PJ Eby pje at telecommunity.com
Wed Apr 11 21:00:29 CEST 2012


On Tue, Apr 10, 2012 at 1:35 AM, Tim Cuthbertson <tim at gfxmonk.net> wrote:

> Cheers, will look into it. Is there a canonical list of what possible
> directories, or should I just look at the --help output?
>

The latter.


Am I going to run into trouble where some projects have different
> options? For example, calling `python setup.py` could be implemented
> by distutils, setuptools, distribute, and god knows what else.


I can't speak for "what else", but the first three tools you mention
support the same installation directory options for setup.py.  (Except
distutils itself doesn't recognize --single-version-externally-managed.)


True, although I want a folder, not an archive. I could unpack it, but
> the less steps in a build script the better.
>

Well, if you're willing to use setuptools or distribute, you can do
 "easy_install -mxNZd tempdir projectdir", where projectdir is a directory
with a setup.py.  After running this command, tempdir will have a single
.egg subdirectory added to it, containing a version of the library with a
known directory layout.  You can then do something like:

cd tempdir
mv *.egg/EGG-INFO/scripts bin
mv *.egg lib

To get your desired layout.  For bonus points, you can rename the EGG-INFO/
subdirectory to packagename.egg-info/.  ;-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20120411/06d4280d/attachment.html>


More information about the Distutils-SIG mailing list