From: Thomas Heller Date: Fri, 14 Nov 2003 10:23:03 +0000 (+0000) Subject: SF #841977 - modulefinder fails to find extension modules in packages X-Git-Tag: v2.3.3c1~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fd630f54ccd7a03629eb14d24bd78b7872ab5f93;p=thirdparty%2FPython%2Fcpython.git 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 to release-maint23. --- diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py index be59f97f2bc8..6dec0e5903d9 100644 --- a/Lib/modulefinder.py +++ b/Lib/modulefinder.py @@ -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)