[New-bugs-announce] [issue26584] pyclbr module needs to be more flexible on loader support
Eric Snow
report at bugs.python.org
Thu Mar 17 14:20:00 EDT 2016
New submission from Eric Snow:
(see issue26569)
The pyclbr module is showing its age (born 1995). It assumes there are only 2 module types (builtin and source-based), particularly in readmodule() and readmodule_ex(). Really it should be source-based and "everything else".
For instance, it does not handle namespace packages correctly, since the spec.loader is set to None there. It also doesn't handle frozen modules (e.g. "./python Lib/pyclbr.py _frozen_importlib"). This is likewise a problem for other/custom loaders that don't match the expectations of pyclbr.
Here are some things that should be done:
* replace custom introspection code with newer tools like importlib.util.module_from_spec()
* special-case namespace modules (since their spec.loader is None); this is probably a moot point if module_from_spec() gets used
* ignore more than just builtins; explicitly check for importlib.abc.SourceLoader?
* make use of similar tools in the inspect module?
----------
components: Library (Lib)
messages: 261924
nosy: brett.cannon, eric.snow, ncoghlan
priority: normal
severity: normal
stage: test needed
status: open
title: pyclbr module needs to be more flexible on loader support
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26584>
_______________________________________
More information about the New-bugs-announce
mailing list