Как удалить редактируемые пакеты с помощью pip (установленного с -e)
Я установил некоторые пакеты с -e
> pip install -e git+https://github.com/eventray/[email protected]#egg=horus-dev
Я с замиранием контура вижу
> pip freeze
...
-e git+https://github.com/eventray/[email protected]#egg=horus-dev
...
когда я пытаюсь удалить пакеты, я получаю ошибки:
> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed
> pip uninstall horus
Cannot uninstall requirement horus, not installed
Как удалить такой пакет?
Ответы
Ответ 1
В {virtualenv}/lib/python2.7/site-packages/
(если не использовать virtualenv then {system_dir}/lib/python2.7/dist-packages/
)
- удалите файл яйца (например,
distribute-0.6.34-py2.7.egg
), если есть
- из файла
easy-install.pth
, удалите соответствующую строку (это должен быть путь к исходной директории или файла яйца).
Ответ 2
Установите пакет dev с помощью cmd:
pip install --editable .
Удалить
rm -r $(find . -name '*.egg-info')
Ответ 3
Оказывается, моя установка была как-то испорчена.
Я мог бы найти запись в:
/usr/local/lib/python2.7/site-packages/easy-install.pth
Чтобы решить проблему, я удалил строку в .pth файле вручную!
import sys; sys.__plen = len(sys.path)
...
/absolute-path-to/horus # <- I removed this line
...
Ответ 4
Это ошибка в debian/ubuntu linux с использованием установленного с помощью OS пункта (v8.1.1 для меня), который вы вызываете с помощью sudo pip
, даже если вы обновили pip (например, get-pip.py). См. https://github.com/pypa/pip/issues/4438
Для обсуждения вопроса о том, как очистить, см. https://askubuntu.com/questions/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip, хотя существуют решения по выбору "удалить все".
... pip пакеты [go] до /usr/local/lib/python2.7/dist-packages
и apt пакеты до /usr/lib/python2.7/dist-packages
... несколько пакетов были установлены и в ~/.local/lib
.
Для моей системы все, что мне нужно было удалить, было /usr/local/lib/python2.7/dist-packages/{package_name}.egg-link
Ответ 5
В случае, если это поможет кому-то еще: Не уверен, что это та же проблема, но я столкнулся с чем-то похожим, где я установил пакет локально для разработки с:
$ pip install -e .
но когда я побежал
$ pip uninstall -e .
я получил
Usage:
pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...
no such option: -e
и когда я запускаю pip freeze
пипса
package1=1.0.0
package2=1.0.0
...
package12=1.0.0
-e [email protected]/me/[email protected]
package13=1.0.0
...
Так что я бросил это к requirements.txt
, удалил все, кроме -e
линии (ов), а затем выполняется:
$ pip uninstall -r requirements.txt
который работал для меня
Ответ 6
Более простой способ сделать то же самое с новой версией setup_tools - запустить следующее:
python setup.py develop -u
Который в основном делает то же самое, что описывает @glarrain в своем ответе.
Ответ 7
Просто удалите пакет, который вы установили в "редактируемом" режиме:
pip uninstall yourpackage