Message261876
Ah, you're talking about deleting Lib/test/__init__.py. Doing so makes it a namespace package. The loader we use for namespace packages [1] does not have a get_filename() method. So the problem to solve is supporting namespace packages in Lib/pyclbr.py.
Regarding your patch, it's okay, but not the best option. Using spec.submodule_search_locations like you are isn't ideal, but works. However, you should be able to leave the is_package() call alone.
TBH, the better option is to use importlib.util.module_from_spec() instead, since it does the right thing for you, like setting __path__.
FWIW, I get the same as you by deleting those files and running the following:
./python Lib/pyclbr.py Lib/test
[1] https://hg.python.org/cpython/file/default/Lib/importlib/_bootstrap_external.py#l991 |
|
Date |
User |
Action |
Args |
2016-03-17 00:48:10 | eric.snow | set | recipients:
+ eric.snow, brett.cannon, ncoghlan, vstinner |
2016-03-17 00:48:10 | eric.snow | set | messageid: <1458175690.32.0.163346740671.issue26569@psf.upfronthosting.co.za> |
2016-03-17 00:48:10 | eric.snow | link | issue26569 messages |
2016-03-17 00:48:10 | eric.snow | create | |
|