Commit aaf1c8dc authored by Thomas Heller's avatar Thomas Heller

SF #841977 - modulefinder fails to find extension modules in packages

The find_all_submodules() method in modulefinder only
looks for *.py, *.pyc, and *.pyo files.  Python
extension modules are only found if they are referenced
in import statements somewhere.

This patch uses the actual list from imp.get_suffixes().

Backported myself.
parent 780c4979
......@@ -210,7 +210,12 @@ class ModuleFinder:
if not m.__path__:
return
modules = {}
suffixes = [".py", ".pyc", ".pyo"]
# 'suffixes' used to be a list hardcoded to [".py", ".pyc", ".pyo"].
# But we must also collect Python extension modules - although
# we cannot separate normal dlls from Python extensions.
suffixes = []
for triple in imp.get_suffixes():
suffixes.append(triple[0])
for dir in m.__path__:
try:
names = os.listdir(dir)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment