[Distutils] Multiple version support (default installs and plugins)

Paul Moore p.f.moore at gmail.com
Thu Dec 22 15:13:24 CET 2005


On 12/22/05, M.-A. Lemburg <mal at egenix.com> wrote:
> Ian Bicking wrote:
> > I'm still finding it impossible to use multiple versions of a package
> > unless none of them show up in a .pth file (i.e., none are available
> > without requiring), I get a VersionConflict.
>
> This comes up every now and then when discussing the benefits
> of easy_install.
>
> I'd really like to understand what the use case is for having
> multiple versions of a package around.
>
> Note that sys.modules (the registry of loaded modules) does
> not support having multiple versions of a module loaded.

I think the point is to allow multiple versions to be installed on the
system, but allow an individual program, at run time, to specify which
one is to be loaded. There will never be more than one version loaded
in any specific instance, but if program A requires version 1 of
package X, and program B requires version 2 of package X, both can run
without needing a reinstall of package X in between.

Of course, this is also possible via PYTHONPATH manipulations, or
sys.path modifications in the program before doing the import. All
setuptools is doing is to provide a common infrastructure for handling
this.

Paul.


More information about the Distutils-SIG mailing list