Python Plans from ActiveState

Mark Hammond mhammond at
Mon May 15 01:56:40 CEST 2000

<robin at> wrote in message
news:51rthscplh93iuktpbn87lihguqo1rq5s8 at
> "Mark Hammond" <mhammond at> wrote:
> >It will be the core Python, plus some "key extensions" for the
> >Eg, for Windows, it will include the win32all series.
> I would very much like the Windows install to be free of registry
> nonsense and hence be network (and person!) friendly.

So would we all.  It has been discussed alot, and the first alpha of 1.6
also tried to keep the main DLL out of the system32 directory, as a good
first step down this path.

However, it simply does not work when Python is embedded in _any_ other
application that is not in the same directory as Python itself - eg, COM
(ironically, the installer itself, which needs  to use Python, couldnt
even manage!)

Consider a VB app that needs to use a components written in Python.  VB
knows nothing about Python, and definately not where its standard library
or anything is.  Without the registry, in this scenario, we can not
effectively boot Python.

> PYTHONPATH should be an environment variable, not a registry string.

I disagree completely.  This would be as bad as attempting to put Python
on the global path.  It is hard to do across platforms.  It prevents
multiple Python versions installed side-by-side (which is possible now -
just not via the default installer).  I agree the registry sucks, but IMO
a global environment sucks even more!

And finally, note that PYTHONPATH augments, and PYTHONHOME completely
overrides, the registry.  Thus, you are free to unzip an archive, setup
one of these environment variables, and run without any registry settings.
Indeed, in Python 1.6, if Python determines that it _can_ locate its core
library, it completely ignores the core paths in the registry.  This
means, for example, that you can run a version of Python you built
yourself, and runs independent of any installed version you may have and
its registry settings.

So for these reasons, I believe the installer does the right thing for the
majority of people.  If you dont fit into that majority, then you are free
to use the other techniques available (ie, the environment variables) to
create your own environment.


More information about the Python-list mailing list