[Python-Dev] versioned .so files for Python 3.2

Barry Warsaw barry at python.org
Wed Jun 30 20:39:50 CEST 2010


On Jun 25, 2010, at 04:53 AM, Scott Dial wrote:

>My suggestion was that a package that contains .so files should not be
>shared (e.g., the entire lxml package should be placed in a
>version-specific path).

Matthias outlined some of the pitfalls with this approach.

>The motivation for this PEP was to simplify the installation python packages
>for distros; it was not to reduce the number of .py files on the disk.

As others have pointed out, versioned so files is not part of PEP 3147.  That
PEP does reduce the number of py files on disk, which as I explained in a
previous follow, is an important consideration.

>Placing .so files together does not simplify that install process in any
>way.

I disagree of course. :)

>You will still have to handle such packages in a special way. You must still
>compile the package multiple times for each relevant version of python (with
>special tagging that I imagine distutils can take care of) and, worse yet,

No, distutils cannot take care of this.  There is no way currently to tell
distutils to generate a .so file with anything but the platform-specific way
of spelling "shared library".

>you have created a more trick install than merely having multiple search
>paths (e.g., installing/uninstalling lxml for *one* version of python is
>actually more difficult in this scheme).

That's not a use case we care about.  If you have Python 3.2 and 3.3 installed
on your system, why would you want lxml installed for one but not the other?
And even if for some reason you did, the only way to do that would be in a way
similar to handling the PEP 3147 pyc files.

-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-dev/attachments/20100630/f14ae2a8/attachment.pgp>


More information about the Python-Dev mailing list