[Python-Dev] versioned .so files for Python 3.2
James Y Knight
foom at fuhm.net
Fri Jun 25 02:23:51 CEST 2010
On Jun 24, 2010, at 5:53 PM, Scott Dial wrote:
> On 6/24/2010 5:09 PM, Barry Warsaw wrote:
>>> What use case does this address?
>>
>> Specifically, it's the use case where we (Debian/Ubuntu) plan on
>> installing
>> all Python 3.x packages into /usr/lib/python3/dist-packages. As of
>> PEP 3147,
>> we can do that without collisions on the pyc files, but would still
>> have to
>> symlink for extension module .so files, because they are always
>> named foo.so
>> and Python 3.2's foo.so won't (modulo PEP 384) be compatible with
>> Python 3.3's
>> foo.so.
>
> If the package has .so files that aren't compatible with other version
> of python, then what is the motivation for placing that in a shared
> location (since it can't actually be shared)
Because python looks for .so files in the same place it looks for
the .py files of the same package. E.g., given a module like lxml, it
contains the following files (among others):
lxml/
lxml/__init__.py
lxml/__init__.pyc
lxml/builder.py
lxml/builder.pyc
lxml/etree.so
And you can only put it in one place. Really, python should store
the .py files in /usr/share/python/, the .so files in /usr/lib/x86_64-
linux-gnu/python2.5-debug/, and the .pyc files in /var/lib/python2.5-
debug. But python doesn't work like that.
James
More information about the Python-Dev
mailing list