Upgrading Python Breaks Extensions; Fix proposal

Tim Peters tim.one at home.com
Wed Aug 29 00:11:30 EDT 2001


[Bryan Olson]
> I've done a Google search and found that others have had the same
> problem I'm having.  Any upgrade of Python, even from 2.0 to 2.1, breaks
> extension modules.

This is true on Windows, across minor version changes (2.0 to 2.1, yes; 2.1
to 2.1.1, no).  It's not generally true on non-Windows systems (there's a
Python API version number that gets bumped when incompatible changes get
made to the Python C API, but that doesn't get bumped as often as the minor
version number changes).

> I'm working on MS-Windows, and the extension cannot find python20.dll,
> which is not surprising because it was replace with python21.dll.

That *is* surprsing, because the Wise installer (before 2.2a2) generally
refused to delete anything from a system directory.  That is, while
python21.dll got added to your system directory, not even running the 2.0
uninstaller will remove python20.dll (not in my experience, anyway).

> I suppose I could put back the old DLL, but I don't know what that
> would do, since the rest of the system is using the newer DLL.

I'm not clear on why the scheme works the way it does, but one apparent goal
was to allow multiple versions of Python to coexist peacefully on Windows.

> ...
> So here's my proposal for a solution:
> ...
> Is this idea PEP-worthy?

Any proposal is PEP-worthy <wink>.  Try to enlist Mark Hammond, though, as
it's his and ActiveState's Win32 work that rely most heavily on the details.





More information about the Python-list mailing list