On Apr 8, 2012 7:47 AM, "Tim Cuthbertson" <tim@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/.