From 9604e986417d6fa029909323570b459d4de982f3 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Wed, 3 Nov 2021 10:43:24 +0100 Subject: [PATCH 1/3] Don't look in user site packages when using a virtual env Fix #11274 --- mypy/pyinfo.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py index 7da94e0a1fb92..d4c10bfec287f 100644 --- a/mypy/pyinfo.py +++ b/mypy/pyinfo.py @@ -24,7 +24,11 @@ def getprefixes(): def getsitepackages(): # type: () -> List[str] - if hasattr(site, 'getusersitepackages') and hasattr(site, 'getsitepackages'): + if ( + hasattr(site, 'getusersitepackages') + and hasattr(site, 'getsitepackages') + and site.ENABLE_USER_SITE + ): user_dir = site.getusersitepackages() return site.getsitepackages() + [user_dir] else: From 2a0128ba8591c80946c13e282b14629d1b1ef291 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Thu, 4 Nov 2021 14:05:04 +0100 Subject: [PATCH 2/3] Fixes from review --- mypy/pyinfo.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py index d4c10bfec287f..21046a52e167f 100644 --- a/mypy/pyinfo.py +++ b/mypy/pyinfo.py @@ -24,16 +24,16 @@ def getprefixes(): def getsitepackages(): # type: () -> List[str] - if ( - hasattr(site, 'getusersitepackages') - and hasattr(site, 'getsitepackages') - and site.ENABLE_USER_SITE - ): - user_dir = site.getusersitepackages() - return site.getsitepackages() + [user_dir] + res = [] + if hasattr(site, 'getsitepackages'): + res.extend(site.getsitepackages()) + + if hasattr(site, 'getsitepackages') and site.ENABLE_USER_SITE: + res.insert(0, site.getusersitepackages()) else: from distutils.sysconfig import get_python_lib - return [get_python_lib()] + res = [get_python_lib()] + return res if __name__ == '__main__': From 48013a4c2746ad6ba75b5ebefaca9ed5c05991c9 Mon Sep 17 00:00:00 2001 From: Ethan Smith Date: Thu, 4 Nov 2021 16:34:49 -0700 Subject: [PATCH 3/3] Update mypy/pyinfo.py --- mypy/pyinfo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py index 21046a52e167f..42f45cbbb551b 100644 --- a/mypy/pyinfo.py +++ b/mypy/pyinfo.py @@ -25,7 +25,7 @@ def getprefixes(): def getsitepackages(): # type: () -> List[str] res = [] - if hasattr(site, 'getsitepackages'): + if hasattr(site, 'getsitepackages'): res.extend(site.getsitepackages()) if hasattr(site, 'getsitepackages') and site.ENABLE_USER_SITE: