[Python-Dev] PEP 250 - site-packages on Windows: (Was: [Distutils] Package DB: strawman PEP)

Thomas Heller thomas.heller@ion-tof.com
Thu, 12 Jul 2001 12:57:18 +0200


From: "Moore, Paul" <Paul.Moore@atosorigin.com>
> From: M.-A. Lemburg [mailto:mal@lemburg.com]
> > This doesn't seem to do the trick: the Windows installer still installs
> > the packages directly to \Python21.
> 
> This change should (as I said, it's untested) have ensured that "python
> setup.py install" puts the module into site-packages. I don't know what the
> installer code in bdist_wininst.py does, as it's a base64-encoded EXE, and I
> don't have the sources - surely it uses the distutils sysconfig stuff to get
> the value (it has no other way of knowing...)?
The sources are in CVS:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/distutils/misc/

The bdist_wininst installer simply installs into prefix,
this is what the registry has under
HKEY_LOCAL_MACHINE\Software\Python\PythonCore\2.1\InstallPath.

Now what should it do?

There are probably some issues here.
Currently it installs the package into prefix,
and creates a prefix/Remove<xxx>.exe uninstaller, and
*appends* info about uninstallation into the prefix/<xxx>-wininst.log
file.
In the future (after PEP250) it should install the package into
prefix/lib/site-packages. Also for older Python versions?
Or only for the newer ones? Depending on the distutils' version
used to create the installer? Depending on the actual site.py file?
Hardcoding a version check (version >= 2.2') into the installer
doesn't seem so nice, but would probably do the correct thing.

Note that 'python setup.py install' requires distutils to be present
- the bdist_wininst installer does not.

Thomas