On Fri, Aug 13, 2010 at 8:34 PM, Tarek Ziadé <[email protected]> wrote: > Conflicts is useful to tell the installer a package cannot be > installed if another one is installed,
I think there are actually a couple of separate cases: 1. The installations themselves are in conflict; common files are overwritten by both packages perhaps, so they simply can't coexist. This may happen with scripts or (distutils-style) data files of the same location & name. While I can imagine this happening, I don't recall any actual examples. 2. Packages which cannot be correctly used together in a single Python process. This can happen as a result of refactoring; if a package is split into two, and the base interfaces are moved to the new package, the new package may be incompatible with older versions of the original package. This I've seen, and we had no way to mark the incompatibility in the metadata. In the later case, there's not necessarily a reason not to install the newer package alongside an older version of the original if they aren't going to be used in the same process. An advisory error would be appropriate, as well as a --force option to allow a knowledgeable user to override the error. Tools like zc.buildout, which assemble the working set provided for each generated script independently, could make effective use of the metadata to ensure appropriate package selections at a finer level of granularity. -Fred -- Fred L. Drake, Jr. <fdrake at gmail.com> "A storm broke loose in my mind." --Albert Einstein _______________________________________________ Catalog-SIG mailing list [email protected] http://mail.python.org/mailman/listinfo/catalog-sig
