mirror of
https://github.com/python/cpython.git
synced 2024-11-28 20:33:54 +08:00
bpo-42955: Remove sub-packages from sys.stdlib_module_names (GH-24353)
This commit is contained in:
parent
c9b8e9c421
commit
64fc105b2d
@ -1575,9 +1575,10 @@ always available.
|
||||
All module kinds are listed: pure Python, built-in, frozen and extension
|
||||
modules. Test modules are excluded.
|
||||
|
||||
For packages, only sub-packages are listed, not sub-modules. For example,
|
||||
``concurrent`` package and ``concurrent.futures`` sub-package are listed,
|
||||
but not ``concurrent.futures.base`` sub-module.
|
||||
For packages, only the main package is listed: sub-packages and sub-modules
|
||||
are not listed. For example, the ``email`` package is listed, but the
|
||||
``email.mime`` sub-package and the ``email.message`` sub-module are not
|
||||
listed.
|
||||
|
||||
See also the :attr:`sys.builtin_module_names` list.
|
||||
|
||||
|
@ -117,7 +117,6 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"colorsys",
|
||||
"compileall",
|
||||
"concurrent",
|
||||
"concurrent.futures",
|
||||
"configparser",
|
||||
"contextlib",
|
||||
"contextvars",
|
||||
@ -126,7 +125,6 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"crypt",
|
||||
"csv",
|
||||
"ctypes",
|
||||
"ctypes.macholib",
|
||||
"curses",
|
||||
"dataclasses",
|
||||
"datetime",
|
||||
@ -135,13 +133,10 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"difflib",
|
||||
"dis",
|
||||
"distutils",
|
||||
"distutils.command",
|
||||
"doctest",
|
||||
"email",
|
||||
"email.mime",
|
||||
"encodings",
|
||||
"ensurepip",
|
||||
"ensurepip._bundled",
|
||||
"enum",
|
||||
"errno",
|
||||
"faulthandler",
|
||||
@ -178,8 +173,6 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"json",
|
||||
"keyword",
|
||||
"lib2to3",
|
||||
"lib2to3.fixes",
|
||||
"lib2to3.pgen2",
|
||||
"linecache",
|
||||
"locale",
|
||||
"logging",
|
||||
@ -194,7 +187,6 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"msilib",
|
||||
"msvcrt",
|
||||
"multiprocessing",
|
||||
"multiprocessing.dummy",
|
||||
"netrc",
|
||||
"nis",
|
||||
"nntplib",
|
||||
@ -304,10 +296,6 @@ static const char* _Py_stdlib_module_names[] = {
|
||||
"wsgiref",
|
||||
"xdrlib",
|
||||
"xml",
|
||||
"xml.dom",
|
||||
"xml.etree",
|
||||
"xml.parsers",
|
||||
"xml.sax",
|
||||
"xmlrpc",
|
||||
"zipapp",
|
||||
"zipfile",
|
||||
|
@ -57,29 +57,17 @@ def list_python_modules(names):
|
||||
names.add(name)
|
||||
|
||||
|
||||
def _list_sub_packages(path, names, parent=None):
|
||||
for name in os.listdir(path):
|
||||
# Packages in Lib/
|
||||
def list_packages(names):
|
||||
for name in os.listdir(STDLIB_PATH):
|
||||
if name in IGNORE:
|
||||
continue
|
||||
package_path = os.path.join(path, name)
|
||||
package_path = os.path.join(STDLIB_PATH, name)
|
||||
if not os.path.isdir(package_path):
|
||||
continue
|
||||
if not any(package_file.endswith(".py")
|
||||
for package_file in os.listdir(package_path)):
|
||||
continue
|
||||
if parent:
|
||||
qualname = f"{parent}.{name}"
|
||||
else:
|
||||
qualname = name
|
||||
if qualname in IGNORE:
|
||||
continue
|
||||
names.add(qualname)
|
||||
_list_sub_packages(package_path, names, qualname)
|
||||
|
||||
|
||||
# Packages and sub-packages
|
||||
def list_packages(names):
|
||||
_list_sub_packages(STDLIB_PATH, names)
|
||||
if any(package_file.endswith(".py")
|
||||
for package_file in os.listdir(package_path)):
|
||||
names.add(name)
|
||||
|
||||
|
||||
# Extension modules built by setup.py
|
||||
|
Loading…
Reference in New Issue
Block a user