From: Scott Kitterman <scott@kitterman.com>
Date: Mon, 25 May 2020 18:13:49 -0400
Subject: debug command for unbundled

---
 src/pip/_internal/commands/debug.py | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py
index 1b65c43..0ccc63a 100644
--- a/src/pip/_internal/commands/debug.py
+++ b/src/pip/_internal/commands/debug.py
@@ -63,6 +63,11 @@ def create_vendor_txt_map():
     # Transform into "module" -> version dict.
     return dict(line.split('==', 1) for line in lines)  # type: ignore
 
+def create_debundle_txt_map():
+    # type: () -> Dict[str, str]
+    wheels = [fn for fn in os.listdir(pip._vendor.WHEEL_DIR)]
+    # Transform into "module" -> version dict.
+    return dict((wheel.split('-')[0], wheel.split('-')[1]) for wheel in wheels) # type: ignore
 
 def get_module_from_module_name(module_name):
     # type: (str) -> ModuleType
@@ -127,6 +132,18 @@ def show_vendor_versions():
     with indent_log():
         show_actual_vendor_versions(vendor_txt_versions)
 
+def show_debundled_versions():
+    # type: () -> None
+    logger.info('debundled wheel versions:')
+    debundle_txt_versions = create_debundle_txt_map()
+    for module_name, installed_version in sorted(debundle_txt_versions.items()):
+        with indent_log():
+            logger.info(
+                '{name}=={actual}'.format(
+                    name=module_name,
+                    actual=installed_version,
+                )
+            )
 
 def show_tags(options):
     # type: (Values) -> None
@@ -223,7 +240,11 @@ class DebugCommand(Command):
         show_value("pip._vendor.certifi.where()", where())
         show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED)
 
-        show_vendor_versions()
+        if not pip._vendor.DEBUNDLED:
+            show_vendor_versions()
+        else:
+            show_value("pip._vendor.WHEEL_DIR", pip._vendor.WHEEL_DIR)
+            show_debundled_versions()
 
         show_tags(options)
 
