How to uninstall a package installed with pip install --user
Having tested this using Python 3.5 and pip 7.1.2 on Linux, the situation appears to be this:
pip install --user somepackage
installs to$HOME/.local
, and uninstalling it does work usingpip uninstall somepackage
.This is true whether or not
somepackage
is also installed system-wide at the same time.If the package is installed at both places, only the local one will be uninstalled. To uninstall the package system-wide using
pip
, first uninstall it locally, then run the same uninstall command again, withroot
privileges.In addition to the predefined user install directory,
pip install --target somedir somepackage
will install the package intosomedir
. There is no way to uninstall a package from such a place usingpip
. (But there is a somewhat old unmerged pull request on Github that implementspip uninstall --target
.)Since the only places
pip
will ever uninstall from are system-wide and predefined user-local, you need to runpip uninstall
as the respective user to uninstall from a given user's local install directory.
example to uninstall package 'oauth2client' on MacOS:
pip uninstall oauth2client
Be careful though, for those who using pip install --user some_pkg
inside a virtual environment.
$ path/to/python -m venv ~/my_py_venv$ source ~/my_py_venv/bin/activate(my_py_venv) $ pip install --user some_pkg(my_py_venv) $ pip uninstall some_pkgWARNING: Skipping some_pkg as it is not installed.(my_py_venv) $ pip list# Even `pip list` will not properly list the `some_pkg` in this case
In this case, you have to deactivate the current virtual environment, then use the corresponding python
/pip
executable to list or uninstall the user site packages:
(my_py_venv) $ deactivate$ path/to/python -m pip list$ path/to/python -m pip uninstall some_pkg
Note that this issue was reported few years ago. And it seems that the current conclusion is: --user
is not valid inside a virtual env's pip
, since a user location doesn't really make sense for a virtual environment.