How to uninstall editable packages with pip (installed with -e)
PipUninstallationPip Problem Overview
I have installed some packages with -e
> pip install -e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
I with pip freeze I see
> pip freeze
...
-e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
...
when I try to uninstall the packages I get errors:
> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed
> pip uninstall horus
Cannot uninstall requirement horus, not installed
How do I uninstall such a package?
Pip Solutions
Solution 1 - Pip
At {virtualenv}/lib/python2.7/site-packages/
(if not using virtualenv then {system_dir}/lib/python2.7/dist-packages/
)
- remove the egg file (e.g.
distribute-0.6.34-py2.7.egg
) if there is any - from file
easy-install.pth
, remove the corresponding line (it should be a path to the source directory or of an egg file).
Solution 2 - Pip
An easier way to do the same with the new version of setup_tools is to run the following:
python setup.py develop -u
Which basically does the same as what @glarrain describes in his answer.
Solution 3 - Pip
Install a dev package use cmd:
pip install --editable .
Uninstall:
rm -r $(find . -name '*.egg-info')
Now you can use:
pip uninstall package_name
or python setup.py develop --uninstall
or python setup.py develop -u
Solution 4 - Pip
Simply uninstall the package you installed in 'editable' mode:
pip uninstall yourpackage
it works for recent pip-versions (at least >=19.1.1).
Solution 5 - Pip
It turns out that my installation was somehow corrupt.
I could find the entry in:
/usr/local/lib/python2.7/site-packages/easy-install.pth
To solve the problem I removed the line in the .pth file by hand!
import sys; sys.__plen = len(sys.path)
...
/absolute-path-to/horus # <- I removed this line
...
Solution 6 - Pip
This is a bug on debian/ubuntu linux using OS-installed pip (v8.1.1 for me), which is what you'll invoke with sudo pip
even if you've upgraded pip (e.g. get-pip.py). See https://github.com/pypa/pip/issues/4438
For a discussion on how to clean up see https://askubuntu.com/questions/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip, though the solutions there are of the "remove everything" variety.
>...pip packages [go] to /usr/local/lib/python2.7/dist-packages
, and apt packages to /usr/lib/python2.7/dist-packages
>
> ...a few packages were installed in ~/.local/lib
too.
For my system all I needed to remove was /usr/local/lib/python2.7/dist-packages/{package_name}.egg-link