Python 2.4, distutils, and pure python packages

Thomas Heller theller at python.net
Fri Mar 11 12:26:37 EST 2005


"Martin v. Löwis" <martin at v.loewis.de> writes:

> Thomas Heller wrote:
>>>This means that if you build a windows installer using
>>>distutils - it *requires* msvcr7.dll in order to run. This is true even
>>>if your package is a pure python package. This means that when someone
>>>tries to use a windows installer created with Python 2.4, on a machine
>>>with only python 2.3 - it will fail.
>> Bummer.
>
>
> I wonder whether it would be better to continue linking wininst.exe with
> mscvrt40.dll, and use that regardless of the version used to build Python.
>
> Alternatively, we could try to get rid of the C library altogether for
> wininst.exe. For install.c, this should be possible: it primarily uses
> *printf, which can be replaced with FormatMessage. The challenge, of
> course, is zlib. This could be replaced with lz32, but I doubt this
> would improve anything. Alternatively, we could load zlib.pyd from the
> target system, but that would be tedious, I guess. OTOH, it might to
> replace extract.c largely with Python source code, and run this in
> an interpreter...

I had something similar in my mind for quite some time.  zlib.pyd would be
used automatically if the extraction is done in Python code - when
bdist_wininst was written, Python didn't have the zipfile module.

It would be for 2.5, anyway, and I have hoped that bdist_wininst would
be replaced by bdist_msi then ;-).  What are your plans for that?

Although I'm wondering if it would be possible to run bdist_msi on linux
systems for pure Python distributions - some people are doing that with
bdist_wininst afaik.

Thomas



More information about the Python-list mailing list