[Distutils] Install time prefixes and data files

David Cournapeau cournape at gmail.com
Sat Nov 14 00:30:41 CET 2009


On Fri, Nov 13, 2009 at 10:04 PM, Floris Bruynooghe
<floris.bruynooghe at gmail.com> wrote:
> On Fri, Nov 13, 2009 at 06:22:06PM +0900, David Cournapeau wrote:
>> On Thu, Nov 12, 2009 at 12:24 AM, Wolodja Wentland
>> <wentland at cl.uni-heidelberg.de> wrote:
>>
>> >
>> > The FHS differentiates between various classes of files and defines
>> > proper location for them. We could define platform dependent
>> > standard infixes for the following data file classes for distribution
>> > foo:
>> >
>> > * configuration     etc
>> > * shared data       usr/share/foo/
>> > * readme            usr/share/foo/README        README, TODO, ... could
>> >                                                be automatically
>> >                                                discovered
>> > * examples          usr/share/foo/examples
>> > * documentation     usr/share/foo/doc
>> > * man files         usr/share/man
>> > * variable          var/lib/foo
>> > * ...
>> >
>>
>> One could start from all the autoconf-defined variables such as
>> prefix, eprefix, sbindir, bindir, etc... One would need in addition
>> some variables for python files (.py, pyc and pyo). Then, each scheme
>> would just be different mapping for those variables. For example,
>> --user option just means changing prefix to $HOME/.local on linux,
>> gobolinux (which as a similar file organization as mac os x) could
>> easily package as they do for autoconf packages.
>
> +1
>
> But don't expect all package maintainers to suddenly classify their
> datafiles properly.  Last time this got discussed there was
> significant opposition to this, maintainers did not see the point and
> didn't want *any* change to their code at all unless it made *their*
> lives easier.

Oh, I don't expect much on that front. But if it becomes at least
possible, pressuring people to do so is more doable. And you could in
theory enforce some kind of policy on Pypi, but it seems there is a
strong opposition to do so - but again, if you are willing to have
your "own" Pypi for a subcommunity, it is at least possible to do so.

> The only issue I can see it that I'd like the API to retrieve the
> data-files to work both when running from a development repository as
> from an installed distribution.  Making the API methods of the
> Distribution class would force you to have an installed Distribution
> on you PYTHONPATH I think (as would relying on a file in the egg-info
> directory).

As long as python itself does not support this, I don't see a way to
do data retrieving reliably. It may be useful to see how other
languages do it (haskell and ruby, and I am sure others, have the same
issues).

David


More information about the Distutils-SIG mailing list