2013-06-27 1 views
46

Я установил некоторые пакеты с -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 

Как удалить такой пакет?

ответ

46

В {virtualenv}/lib/python2.7/site-packages/ (если не используется virtualenv то {system_dir}/lib/python2.7/dist-packages/)

  • удалить файл яйца (например, distribute-0.6.34-py2.7.egg), если есть какие-либо
  • из файла easy-install.pth, удалить соответствующую строку (она должна быть путь к исходному каталогу или файл яйца).
+14

Вид удивления нет соответствующего деинсталлировать способ для этого. – Drake

+2

@Drake да, довольно раздражает фактически – glarrain

+3

С текущей версией pip деинсталляция работает хорошо также для пакетов, установленных с опцией '-e'. – famousgarkin

2

Оказалось, что моя установка была как-то испорчена.

я мог бы найти запись в:

/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 
... 
1

Просто удалите пакет, установленный в режиме 'редактируемые':

pip uninstall yourpackage 
+4

ОП попробовал это и говорит об этом в своем вопросе. Это не обязательно работает с пакетами, установленными как «редактируемые» – dusktreader

+0

@dusktreader: я не уверен, что происходит с командой OP delete 'delete (может быть, устаревшая версия pip?), Но я проверил, что при нормальных обстоятельствах он делает именно то, что предлагалось сделать вручную в принятом ответе @glarrain. Если это не сработает для вас, пожалуйста, подробно расскажите, что вы здесь делаете, чтобы мы могли разобраться в проблеме. – Apteryx

1

Установите DEV пакетов используют ЦМД:

pip install --editable . 

Uninstall:

rm -r $(find . -name '*.egg-info') 
0

Это ошибка на debian/ubuntu linux, используя установленный OS pip (v8.1.1 для меня), что является тем, ll вызывать с 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, хотя существуют решения по выбору «удалить все».

... пип пакеты [идти] к /usr/local/lib/python2.7/dist-packages и меткие пакеты для /usr/lib/python2.7/dist-packages

... в ~/.local/lib были установлены слишком несколько пакетов.

Для моей системе все что мне нужно, чтобы удалить был /usr/local/lib/python2.7/dist-packages/{package_name}.egg-link