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

Matthias Klose doko at ubuntu.com
Sat Jun 26 22:14:54 CEST 2010


On 26.06.2010 02:19, Nick Coghlan wrote:
> On Sat, Jun 26, 2010 at 6:12 AM, James Y Knight<foom at fuhm.net>  wrote:
>> However, then you have to also consider python packages made up of multiple
>> distro packages -- like twisted or zope. Twisted includes some C extensions
>> in the core package. But then there are other twisted modules (installed
>> under a "twisted.foo" name) which do not include C extensions. If the base
>> twisted package is installed under a version-specific directory, then all of
>> the submodule packages need to also be installed under the same
>> version-specific directory (and thus built for all versions).
>>
>> In the past, it has proven somewhat tricky to coordinate which directory the
>> modules for package "foo" should be installed in, because you need to know
>> whether *any* of the related packages includes a native ".so" file, not just
>> the current package.
>>
>> The converse situation, where a base package did *not* get installed into a
>> version-specific directory because it includes no native code, but a
>> submodule *does* include a ".so" file, is even trickier.
>
> I think there are two major ways to tackle this:
> - allow multiple versions of a .so file within a single directory (i.e
> Barry's current suggestion)

we already do this, see the naming of the extensions of a python debug build on 
Windows.  Several distributions (Debian, Fedora, Ubuntu) do use this as well to 
provide extensions for python debug builds.

> - enhanced namespace packages, allowing a single package to be spread
> across multiple directories, some of which may be Python version
> specific (i.e. modifications to PEP 382 to support references to
> version-specific directories)

this is not what I want to use in a distribution.  package management systems 
like rpm and dpkg do handle conflicts and replacements of files pretty well, 
having the same file in potentially different locations in the file system 
doesn't help detecting conflicts and duplicate packages.

   Matthias


More information about the Python-Dev mailing list