[Distutils] How to make easy_install handle platlibs?

Andrew Straw strawman at astraw.com
Sun Apr 12 21:01:10 CEST 2009


zooko wrote:
>> Yes, if you used symbols from any shared library in an extension
>> module, you'd need to know the version of that shared library. So it's
>> not just libc. This is the same on any OS, not just linux.
> 
> Wait a minute, an extension module built into the Python Standard
> Library, you mean?  

No, I'm writing about non stdlib extension modules.

Because for separately packaged packages
> ("distributions") such as the numpy that you mentioned, your package
> ("distribution") would express its requirement on that other package
> ("distribution") in its install_requires metadata, not in its name. 
> There, in the install_requires metadata, it can also express which
> version it requires.  Right?

No, because the act of compiling your .egg fixes the specific version
(e.g. numpy==1.3) to keep the ABI compatible with the version of numpy
installed at extension module compile time. Whereas the install_requires
is about API compatibility, and could thus be numpy>=1.2, for example.

(For pure Python modules, this isn't a problem because there is only an
API version to worry about. But with compiled extensions, there is also
the ABI version to worry about.)


More information about the Distutils-SIG mailing list