[Python-Dev] Where to install non-code files
Thu, 25 May 2000 22:22:03 -0400
Another one for the combined distutils/python-dev braintrust; apologies
to those of you on both lists, but this is yet another distutils issue
that treads on python-dev territory.
The problem is this: some module distributions need to install files
other than code (modules, extensions, and scripts). One example close
to home is the Distutils; it has a "system config file" and will soon
have a stub executable for creating Windows installers.
On Windows and Mac OS, clearly these should go somewhere under
sys.prefix: this is the directory for all things Python, including
third-party module distributions. If Brian Hooper distributes a module
"foo" that requires a data file containing character encoding data (yes,
this is based on a true story), then the module belongs in (eg.)
C:\Python and the data file in (?) C:\Python\Data. (Maybe
C:\Python\Data\foo, but that's a minor wrinkle.)
Any disagreement so far?
Anyways, what's bugging me is where to put these files on Unix.
<prefix>/lib/python1.x is *almost* the home for all things Python, but
not quite. (Let's ignore platform-specific files for now: they don't
count as "miscellaneous data files", which is what I'm mainly concerned
Currently, misc. data files are put in <prefix>/share, and the
Distutil's config file is searched for in the directory of the distutils
package -- ie. site-packages/distutils under 1.5.2 (or
~/lib/python/distutils if that's where you installed it, or ./distutils
if you're running from the source directory, etc.). I'm not thrilled
with either of these.
My inclination is to nominate a directory under <prefix>lib/python1.x
for these sort of files: not sure if I want to call it "etc" or "share"
or "data" or what, but it would be treading in Python-space. It would
break the ability to have a standard library package called "etc" or
"share" or "data" or whatever, but dammit it's convenient.
Greg Ward - "always the quiet one" email@example.com
I have many CHARTS and DIAGRAMS..