Sam Silberstein added the comment:

Hi there! 

This is my first submission to the bug tracker, so I apologize if I'm missing 
some formatting here.

I've found what's either vague documentation for the 'prefix' parameter of 
`pgkutil.walk_packages` or a bug. The method implies that it will only import 
submodules of the provided path, but if the prefix parameter is not filled, 
this method will import a module with the same name from outside the path -- so 
long as it exists in `sys.modules`. I'm unsure if this is due to the 
documentation not specifying that prefix should always be used when path is 
set, or if this is a bug (I can provide a fix if it's a bug).

Steps to reproduce:

Create a directory with a nested package with the same name as a package 
outside that directory, e.g.:

├── test1
│   ├── __init__.py
│   └── should_not_be_included.py
└── test2
    ├── __init__.py
    └── test1
        ├── __init__.py
        └── should_be_included.py

`list(pkgutil.walk_packages(['test2']))` will contain 
'should_not_be_included.py' instead of 'should_be_included.py'.

Thank you!

Sam Silberstein

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue30337>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to