On Tue, Apr 10, 2012 at 3:18 PM, PJ Eby pje@telecommunity.com wrote:
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.
Cheers, will look into it. Is there a canonical list of what possible directories, or should I just look at the --help output?
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 would like for the same options to work across all backends, since I'm building a lot of libraries without wanting to care too deeply about which build system they use. Is this doable, or would it potentially have to be crafted to each package?
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/.
True, although I want a folder, not an archive. I could unpack it, but the less steps in a build script the better.