Finding application data after install - a solution?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Thu Sep 24 09:07:51 CEST 2009


En Tue, 22 Sep 2009 13:47:09 -0300, Wolodja Wentland  
<wentland at cl.uni-heidelberg.de> escribió:
> On Tue, Sep 22, 2009 at 07:42 -0700, Aahz wrote:

>> >I want to:
>> >
>> >    1. Give administrators the freedom to install the data wherever  
>> they
>> >       want
>> >    2. Adhere to the FHS (installing data within modules breaks it)
>> >    3. Be able to find that data again regardless of the installation
>> >      scheme used
>> >
>> >1 and 2 are easily solved... It was just not possible to find the data
>> >again. The snippet in the original code solves that.

>> Given your mention of FHS, it sounds like you are focused on Unix-like
>> systems, in which case why not rely on the standard mechanisms for  
>> config
>> files?
>
> I do not intentionally focus on UNIX type systems, but I have grown up
> with *nix and I rather follow one scheme than none at all. But the
> proposed way works on Windows as well, although the users might find
> previously unseen directories like 'PREFIX/share/foo/doc' and the like
> on their system.

I think many Windows users would say WTF!? when seeing those directories -  
and send cordial greetings to you, your parents and your whole family :)
Instead of ending with, e.g., a directory like c:\usr\share\foo\doc, your  
program should ask the OS for the special folder CSIDL_COMMON_APPDATA and  
add the foo\doc part. Or any other suitable standard folder. A directory  
like c:\usr\share\foo on Windows is as ridiculous as /Documents\ and\  
Settings/All\ Users/Application\ Data/foo on any unix like system.

> As $DATA_PREFIX is only known at build time there was (until now) no
> reliable way to find the data if the only information one can get is
> $LIB_PREFIX, because these two might be totally unrelated.

You should probably raise this issue at the distutils-sig mailing list:  
http://www.python.org/community/sigs/current/distutils-sig/

-- 
Gabriel Genellina




More information about the Python-list mailing list