[Python-Dev] Integrate lxml into the stdlib?

Terry Reedy tjreedy at udel.edu
Fri Mar 6 20:08:33 CET 2009


Guido van Rossum wrote:
> On Fri, Mar 6, 2009 at 9:54 AM, Terry Reedy <tjreedy at udel.edu> wrote:

> No, it is expected to "just work" because sqlite3 is (presumably) very
> careful about backwards compatibility, and because the Windows DLL API
> (just like the shared library API in Linux and other systems) is
> designed to allow substitution of newer versions. The linkage
> requirements are roughly that all entry points into a DLL (or shared
> library) that are referenced by the caller (in this case the wrapper
> extension module) are supported in the new version, and have the same
> signature and semantics.
> 
>> I have no idea, but my WinXP .../Python30/ install has
>>
>> DLLs/_sqlite3.pyd 52K
> 
> This is the wrapper extension module.
> 
>> DLLs/sqlite3.dll 557K
> 
> This is sqlite3 itself. I am presuming that the phrase "replace the
> sqlite DLL" above refers to this one -- although the same argument
> actually holds for the .pyd file, which is also a DLL (despite its
> different extension).
> 
>> libs/_sqlite3.lib 2K
> 
> I think this is a summary of the entry points into one of the above
> DLLs for the benefit of other code wanting to link against it, but I'm
> not sure.
> 
>> For whatever reason, most other things do not have all three files.
> 
> You only see a .pyd and a .dll when there's a Python wrapper extension
> *and* an underlying 3rd party library.

Thanks, I understand now.


>> I do not know whether upgrades (like 3.0.0 to 3.0.1) would clobber other
>> things added here.
> 
> It would, but not in a harmful way.

By 'clobber', I meant 'delete', and I do not see how that would not be 
harmful ;-).  I don't know whether the intaller creates a new directory 
(and deletes the old), clears and reuses the old, or merely replaces 
individual files.

tjr



More information about the Python-Dev mailing list