mirror of
https://github.com/python/cpython.git
synced 2024-11-24 02:15:30 +08:00
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.
This commit is contained in:
parent
780c497972
commit
aaf1c8dc9e
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user