[Catalog-sig] PEP 345 Update
P.J. Eby
pje at telecommunity.com
Tue Aug 24 01:05:00 CEST 2010
At 02:55 PM 8/23/2010 -0700, Tarek Ziadé wrote:
>On Mon, Aug 23, 2010 at 1:24 PM, M.-A. Lemburg <mal at egenix.com> wrote:
>..
> >
> >> In case of "obsoletes", it _should_ also be possible to install both
> >> of them simultaneously. Maybe some other other distribution depends
> >> on the original one, and can't work with the new one.
> >
> > Agreed.
> >
> > The same is true for conflicting packages: even if packages A and D
> > conflict, one application may use the package combination A,B,C
> > while another may be using D,E,F - both without any conflicts.
>
>But we are in the same scope.
>
>This can be applied for Conflicts because they are supposed to be
>incompatible.
>
>It's exactly the same incompatibility than having Foo depending on Bar > 1.0
>and Baz depending on Bar < 0.9. Since you can't have two versions of
>Bar running
>in the same Python packages.
>
>So while Obsoletes allows you to have two times the same package. Conflicts
>indicates that its strictly impossible.
Note that "Conflicts" doesn't necessarily mean you can't install the
conflicting package, just that it can't be active on sys.path at the
same time as the conflicting project. (easy_install -m, for example,
would have no reason to care about conflicts unless a single
project's global dependency tree includes both of the conflicting packages.)
So, technically, all an installer has to do is avoid placing
conflicting packages on the same runtime sys.path, in order to comply
with Conflicts.
Hm. Come to think of it, if all Conflicts is saying is, "I have
modules of the same names as...", then couldn't any installer worth
its salt figure this out for itself? (Even PEP 376 already has a way
to detect conflicting files before installing.)
OTOH, if what it's saying is something like, "you can't import
asyncore's mainloop and Twisted's mainloop at the same time and
live", then what value does it have for the install tool, vs. merely
informing the user?
More information about the Catalog-SIG
mailing list