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

Nick Coghlan ncoghlan at gmail.com
Sat Jun 26 02:19:51 CEST 2010


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)
- 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)

I think a new PEP is definitely in order, especially to explain why
enhancing PEP 382 to support saying "look over here for the .so files
for this version" isn't a preferable approach.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list