[Distutils] Creating a new installation layout

PJ Eby pje at telecommunity.com
Tue Apr 10 07:18:07 CEST 2012

On Apr 8, 2012 7:47 AM, "Tim Cuthbertson" <tim at gfxmonk.net> wrote:
> I'm curious, how would one create a new layout? (as in a --layout=deb
> alternative). I'd very much like to have a layout that doesn't include
> any version information in the path, which both "deb" and "unix" do.
> Ideally, output would look pretty much like:
> bin/
> bin/script1
> bin/script2
> lib/
> lib/some_c_ext.so
> lib/python/
> lib/python/packagename/
> lib/python/packagename/__init__.py
> lib/python/packagename/core.py

Use "setup.py install --single-version-externally-managed
--install-lib=lib/python --install-scripts=bin"; add other options for any
other directories as needed.

You can configure these options in your .pydistutils.cfg so as to not have
to set them every time you create an installation.

> Something simple, without the unnecessary layers of "usr", "local",
> "site-packages", "python2.7" etc. The purpose is to be put into a
> self-contained archive, so it's completely unnecessary to include such
> namespacing (it will never be mixed in with any other files).

FWIW, you can use bdist_egg to create a similar archive, except that lib/
is replaced by ./ and bin/ is replaced by EGG-INFO/scripts/.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20120410/12c5a889/attachment.html>

More information about the Distutils-SIG mailing list