[Distutils] How to make easy_install handle platlibs?
strawman at astraw.com
Sun Apr 12 21:01:10 CEST 2009
>> 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