On Sun, Dec 9, 2012 at 1:11 PM, Steven D'Aprano <st...@pearwood.info> wrote: > On 09/12/12 12:32, Chris Angelico wrote: >> >> On Sun, Dec 9, 2012 at 12:15 PM, Steven D'Aprano<st...@pearwood.info> >> wrote: >>> >>> Assuming that two software packages Spam and Ham install into directories >>> Spam and Ham, how can merely having them installed side-by-side lead to a >>> conflict? >>> >>> I can see how running or importing Spam and Ham together might lead to >>> problems. And I can see that if package Spam wants to install into >>> directory Ham, that would be bad. But who does that? >> >> >> If two packages Spam and Ham both define a module Jam, then the one >> that gets loaded will depend on the search path. That would be one >> form of conflict. > > > import Spam.Jam > > import Ham.Jam > > What am I missing? > > > Why would a software package called "Spam" install a top-level module called > "Jam" rather than "Spam"? Isn't the whole point of Python packages to solve > this namespace problem?
That would require/demand that the software package MUST define a module with its own name, and MUST NOT define any other top-level modules, and also that package names MUST be unique. (RFC 2119 keywords.) That would work, as long as those restrictions are acceptable. ChrisA _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com