bpo-33944: site: Add site-packages tracing in verbose mode (GH-12110)
diff --git a/Lib/site.py b/Lib/site.py
index e981a14..544306c 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -88,6 +88,11 @@
USER_BASE = None
+def _trace(message):
+ if sys.flags.verbose:
+ print(message, file=sys.stderr)
+
+
def makepath(*paths):
dir = os.path.join(*paths)
try:
@@ -156,6 +161,7 @@
else:
reset = False
fullname = os.path.join(sitedir, name)
+ _trace(f"Processing .pth file: {fullname!r}")
try:
f = io.TextIOWrapper(io.open_code(fullname))
except OSError:
@@ -190,6 +196,7 @@
def addsitedir(sitedir, known_paths=None):
"""Add 'sitedir' argument to sys.path if missing and handle .pth files in
'sitedir'"""
+ _trace(f"Adding directory: {sitedir!r}")
if known_paths is None:
known_paths = _init_pathinfo()
reset = True
@@ -310,6 +317,7 @@
"""
# get the per user site-package path
# this call will also make sure USER_BASE and USER_SITE are set
+ _trace("Processing user site-packages")
user_site = getusersitepackages()
if ENABLE_USER_SITE and os.path.isdir(user_site):
@@ -354,6 +362,7 @@
def addsitepackages(known_paths, prefixes=None):
"""Add site-packages to sys.path"""
+ _trace("Processing global site-packages")
for sitedir in getsitepackages(prefixes):
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)