[Distutils] API for finding plugins
ianb at imagescape.com
Tue Feb 14 04:35:35 CET 2006
Jim Fulton wrote:
> Ian Bicking wrote:
>> * At work we're using an environmental variable ("ACTIVE_SITE") which
>> changes sys.path (in sitecustomize) and the distutils installation
>> options. This is like basing it on $HOME, but a bit more flexible
>> (since $HOME has a lot of meanings).
> Note, fwiw: Zope 2 uses a similar approach. ZOPE_HOME points to
> a Zope software installation. INSTANCE_HOME points to a Zope site.
> Both are typically used to affect the Python path and to find other
> information such as configuration and data files.
Configuration is another interesting question; in the context of a Zope
instance it makes sense. In the context of a development environment
it... kind of makes sense. The issue comes up a lot -- how to configure
an environment so that the configuration is usable from an interactive
prompt, from application code, or whatever else -- and I don't have a
good idea of how it should work. I'm not even sure about specifics, not
to mention configuration in general -- except perhaps that some
convention about configuration could and should be complimentary with
these installation conventions.
>> Are there other ways we can identify the user's intended working set?
>> I don't think environmental variables are easy to work with on
>> Windows, and it's a little opaque from a GUI user's perspective.
>> $HOME isn't granular enough. Multiple scripts can work, but I've
>> found it challenging to manage when the binaries in $PATH work, but
>> potentially with bad side-effects (the discipline of keeping working
>> sets separated isn't enforced, or even suggested by making it easier
>> to do the right thing). Multiple scripts seems the most workable and
>> transparent from the point of view of a GUI user, and not particularly
>> bad from the perspective of a Posix command-line user either.
> I don't really follow what you mean by multiple scripts.
That if you have, say, three distinct environments, you'll have three
distinct easy_install scripts, maybe three python programs, and every
library that you install in an environment that includes a script will
have a script local to the environment. And, I suppose, any library
installed outside of the environment cannot have any of its scripts used
in the environment.
I think with the PYTHONPATH work Phillip has done this duplication of
scripts will not be necessary.
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Distutils-SIG