
python-checkins at python
May 1, 2012, 9:45 AM
Views: 29
Permalink
|
|
peps: Moved sections around so that the discussion comes after all relevant details
|
|
http://hg.python.org/peps/rev/d06e6520e92e changeset: 4344:d06e6520e92e user: Eric V. Smith <eric [at] trueblade> date: Tue May 01 12:45:32 2012 -0400 summary: Moved sections around so that the discussion comes after all relevant details are presented. files: pep-0420.txt | 60 ++++++++++++++++++++-------------------- 1 files changed, 30 insertions(+), 30 deletions(-) diff --git a/pep-0420.txt b/pep-0420.txt --- a/pep-0420.txt +++ b/pep-0420.txt @@ -166,6 +166,36 @@ from ``find_module``, the only impact is that such a loader will be unable to provide portions of a namespace package. +Packaging Implications +====================== + +Multiple portions of a namespace package can be installed into the +same directory, or into separate directories. For this section, +suppose there are two portions which define "foo.bar" and "foo.baz". +"foo" itself is a namespace package. + +If these are installed in the same location, a single directory "foo" +would be in a directory that is on ``sys.path``. Inside "foo" would +be two directories, "bar" and "baz". If "foo.bar" is removed (perhaps +by an OS package manager), care must be taken not to remove the +"foo/baz" or "foo" directories. Note that in this case "foo" will be +a namespace package (because it lacks an ``__init__.py``), even though +all of its portions are in the same directory. + +Note that "foo.bar" and "foo.baz" can be installed into the same "foo" +directory because they will not have any files in common. + +If the portions are installed in different locations, two different +"foo" directories would be in directories that are on ``sys.path``. +"foo/bar" would be in one of these sys.path entries, and "foo/baz" +would be in the other. Upon removal of "foo.bar", the "foo/bar" and +corresonding "foo" directories can be completely removed. But +"foo/baz" and its corresponding "foo" directory cannot be removed. + +It is also possible to have the "foo.bar" portion installed in a +directory on ``sys.path``, and have the "foo.baz" portion provided in +a zip file, also on ``sys.path``. + Discussion ========== @@ -217,36 +247,6 @@ date to add such features. Several possible ways to do so were discussed in the referenced email thread. -Packaging Implications -====================== - -Multiple portions of a namespace package can be installed into the -same directory, or into separate directories. For this section, -suppose there are two portions which define "foo.bar" and "foo.baz". -"foo" itself is a namespace package. - -If these are installed in the same location, a single directory "foo" -would be in a directory that is on ``sys.path``. Inside "foo" would -be two directories, "bar" and "baz". If "foo.bar" is removed (perhaps -by an OS package manager), care must be taken not to remove the -"foo/baz" or "foo" directories. Note that in this case "foo" will be -a namespace package (because it lacks an ``__init__.py``), even though -all of its portions are in the same directory. - -Note that "foo.bar" and "foo.baz" can be installed into the same "foo" -directory because they will not have any files in common. - -If the portions are installed in different locations, two different -"foo" directories would be in directories that are on ``sys.path``. -"foo/bar" would be in one of these sys.path entries, and "foo/baz" -would be in the other. Upon removal of "foo.bar", the "foo/bar" and -corresonding "foo" directories can be completely removed. But -"foo/baz" and its corresponding "foo" directory cannot be removed. - -It is also possible to have the "foo.bar" portion installed in a -directory on ``sys.path``, and have the "foo.baz" portion provided in -a zip file, also on ``sys.path``. - References ========== -- Repository URL: http://hg.python.org/peps
|