[Import-SIG] [Python-ideas] My objections to implicit package directories

Guido van Rossum guido at python.org
Tue Mar 13 22:23:12 CET 2012


On Tue, Mar 13, 2012 at 1:25 PM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> Here's one idea to address the PEP 395 concern.
>
> Traverse up the directory tree until you hit one of the following three markers:
>
> * there is no __init__.py in the current directory (in the case where
> there was one adjacent to the original module)
> * current directory is on sys.path
> * setup.py is in the current directory
>
> All these indicate that you have left the package.  If you make it to
> the FS root, the module would not be considered to exist in a package.
>
> The third option is the new idea.  As a bonus, using setup.py as a
> marker would also nudge people toward packaging.

I like it!

FWIW, Thomas Wouters disagrees with the goal of PEP 395 -- he would
much rather issue an error message when you're trying to execute a
file living inside a package (without using -m) instead of Nick's
proposal to fix the situation. But that's a second-order issue; Eric's
algorithm (or some variant of it) might work for either approach.
Anyway, I'd like to stay out of *that* particular discussion -- either
way it doesn't affect my position on namespace packages.

-- 
--Guido van Rossum (python.org/~guido)


More information about the Import-SIG mailing list