diff options
author | Ned Deily <nad@python.org> | 2018-01-30 10:14:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-30 10:14:09 (GMT) |
commit | 763f094b1f0ce2a07768828e78afe9687e9ad3bb (patch) | |
tree | 76c3a1c1ef107ffd0c0a09ab1f96d786e69539d3 | |
parent | 67adb31a416864f853772c3e74a06caeadc9b6f1 (diff) | |
download | cpython-763f094b1f0ce2a07768828e78afe9687e9ad3bb.zip cpython-763f094b1f0ce2a07768828e78afe9687e9ad3bb.tar.gz cpython-763f094b1f0ce2a07768828e78afe9687e9ad3bb.tar.bz2 |
bpo-28440: Don't add /Library/Python/3.x/site-packages to sys.path (#5445)
No longer add /Library/Python/3.x/site-packages, the Apple-supplied
system Python site-packages directory, to sys.path for macOS framework
builds in case Apple ships a version of Python 3. A similar change
was made earlier to Python 2.7 where it was found that the coupling
between the system Python and a user-installed framework Python often
caused confusion or pip install failures.
-rw-r--r-- | Lib/site.py | 5 | ||||
-rw-r--r-- | Lib/test/test_site.py | 16 | ||||
-rw-r--r-- | Misc/NEWS.d/next/macOS/2018-01-30-04-40-12.bpo-28440.W_BUWU.rst | 2 |
3 files changed, 4 insertions, 19 deletions
diff --git a/Lib/site.py b/Lib/site.py index 7dc1b04..950e703 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -340,11 +340,6 @@ def getsitepackages(prefixes=None): else: sitepackages.append(prefix) sitepackages.append(os.path.join(prefix, "lib", "site-packages")) - # for framework builds *only* we add the standard Apple locations. - if sys.platform == "darwin" and sys._framework: - sitepackages.append( - os.path.join("/Library", sys._framework, - '%d.%d' % sys.version_info[:2], "site-packages")) return sitepackages def addsitepackages(known_paths, prefixes=None): diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index 266adf0..b6648d6 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -261,20 +261,8 @@ class HelperFunctionsTests(unittest.TestCase): def test_getsitepackages(self): site.PREFIXES = ['xoxo'] dirs = site.getsitepackages() - - if (sys.platform == "darwin" and - sysconfig.get_config_var("PYTHONFRAMEWORK")): - # OS X framework builds - site.PREFIXES = ['Python.framework'] - dirs = site.getsitepackages() - self.assertEqual(len(dirs), 2) - wanted = os.path.join('/Library', - sysconfig.get_config_var("PYTHONFRAMEWORK"), - '%d.%d' % sys.version_info[:2], - 'site-packages') - self.assertEqual(dirs[1], wanted) - elif os.sep == '/': - # OS X non-framework builds, Linux, FreeBSD, etc + if os.sep == '/': + # OS X, Linux, FreeBSD, etc self.assertEqual(len(dirs), 1) wanted = os.path.join('xoxo', 'lib', 'python%d.%d' % sys.version_info[:2], diff --git a/Misc/NEWS.d/next/macOS/2018-01-30-04-40-12.bpo-28440.W_BUWU.rst b/Misc/NEWS.d/next/macOS/2018-01-30-04-40-12.bpo-28440.W_BUWU.rst new file mode 100644 index 0000000..e973e09 --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2018-01-30-04-40-12.bpo-28440.W_BUWU.rst @@ -0,0 +1,2 @@ +No longer add /Library/Python/3.x/site-packages to sys.path for macOS +framework builds to avoid future conflicts. |