From 2e4e011795d26cab1a3843383d0539c12fea2458 Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Wed, 15 Mar 2017 00:52:19 +0900 Subject: [PATCH] bpo-29592: site: skip abs_paths() when it's redundant (GH-167) Call abs_paths() only if removeduppaths() changed sys.path --- Lib/site.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Lib/site.py b/Lib/site.py index 0fc92009e19..4f96ca91170 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -522,8 +522,13 @@ def main(): """ global ENABLE_USER_SITE - abs_paths() + orig_path = sys.path[:] known_paths = removeduppaths() + if orig_path != sys.path: + # removeduppaths() might make sys.path absolute. + # fix __file__ and __cached__ of already imported modules too. + abs_paths() + known_paths = venv(known_paths) if ENABLE_USER_SITE is None: ENABLE_USER_SITE = check_enableusersite()