diff --git a/news/8733.bugfix b/news/8733.bugfix new file mode 100644 index 00000000000..027e85f6496 --- /dev/null +++ b/news/8733.bugfix @@ -0,0 +1 @@ +Correctly uninstall console scripts installed to ~/.local/bin diff --git a/src/pip/_internal/locations.py b/src/pip/_internal/locations.py index 0c1235488d6..683269305c9 100644 --- a/src/pip/_internal/locations.py +++ b/src/pip/_internal/locations.py @@ -75,16 +75,16 @@ def get_src_prefix(): except AttributeError: user_site = site.USER_SITE +bin_user = sysconfig.get_path('scripts') + if WINDOWS: bin_py = os.path.join(sys.prefix, 'Scripts') - bin_user = os.path.join(user_site, 'Scripts') # buildout uses 'bin' on Windows too? if not os.path.exists(bin_py): bin_py = os.path.join(sys.prefix, 'bin') bin_user = os.path.join(user_site, 'bin') else: bin_py = os.path.join(sys.prefix, 'bin') - bin_user = os.path.join(user_site, 'bin') # Forcing to use /usr/local/bin for standard macOS framework installs # Also log to ~/Library/Logs/ for use with the Console.app log viewer diff --git a/tests/functional/test_uninstall_user.py b/tests/functional/test_uninstall_user.py index 2dbf032ac38..f29e1271323 100644 --- a/tests/functional/test_uninstall_user.py +++ b/tests/functional/test_uninstall_user.py @@ -67,6 +67,7 @@ def test_uninstall_editable_from_usersite(self, script, data): # uninstall result2 = script.pip('uninstall', '-y', 'FSPkg') assert not isfile(script.base_path / egg_link) + assert not isfile(script) assert_all_changes( result1,