Как удалить репозиторий git с помощью pip?

Я использую pip в virtualenv и установил пакет из репозитория git, выполнив следующие действия:

pip install -e git://github.com/dwaiter/django-bcrypt.git@475a3bef1e3ff31935a2dc905e244a63a804fce9#egg=django_bcrypt-dev

Но теперь я хочу удалить это и не вижу, как это сделать, так как у него нет обычного имени пакета. Я пробовал то, что кажется очевидным (например, замену «установить» на «удалить»), но не вижу, как это сделать из документации.

(В этом случае я в конечном итоге хочу обновить версию django-bcrypt из репозитория git до версии 0.9.2 и предполагаю, что мне сначала нужно удалить версию git.)


person Phil Gyford    schedule 19.01.2012    source источник


Ответы (1)


Вы удаляете его, как и любую другую библиотеку:

pip uninstall django-bcrypt

Если вы хотите в конечном итоге обновить, вы также можете сделать

pip install --upgrade -e git://github.com/dwaiter/django-bcrypt.git#egg=django_bcrypt

person zsquare    schedule 19.01.2012
comment
Дох, какой же я идиот. Я думал, что перепробовал все, включая pip uninstall django-bcrypt-dev, но, должно быть, пропустил самое очевидное! Спасибо zsquare. - person Phil Gyford; 19.01.2012
comment
Без проблем :). Дополнительные символы, чтобы я мог опубликовать этот проклятый комментарий - person zsquare; 19.01.2012
comment
Это не работает для меня. pip freeze дает -e git://github.com/mikemaccana/python-docx.git@53a0e3dd0e91ff9c911e8d8824a7c89df6c587c8#egg=docx-dev, но pip uninstall python-docx приводит к ошибке Не удается удалить требование python-docx, оно не установлено. С пипсом 1.0.2. Есть идеи, почему? Заранее спасибо. - person Pascal Polleunus; 02.04.2012
comment
Хорошо, это работает. Правильное имя пакета на самом деле было просто docx, а не python-docx и не docx-dev. - person Pascal Polleunus; 02.04.2012
comment
Сначала это не сработало для меня. Оказалось, что pip 1.0.2 у меня не работал, а pip 1.1 работал. pip install pip --upgrade решил мою проблему. - person Nils; 06.05.2012
comment
Это не работает ... Я использую pip 1.1, и он все еще не работает. Функция удаления в pip всегда была ужасно ненадежной. - person Cerin; 27.05.2012
comment
Если бы эта проблема тоже была, оказалось, что пакет был установлен в каком-то странном месте, и pip сказал бы, что он успешно удален, хотя на самом деле он не был удален. Вы можете найти его, выполнив: python -c 'import X; help(X)' и просто удалив папку. - person robbrit; 06.12.2012
comment
Если этот ответ вам не подходит, попробуйте stackoverflow.com/a/18818891/556413 - person glarrain; 30.11.2013
comment
Похоже, после #egg= следует имя. - person mrgloom; 24.06.2019
comment
Иногда пакет имеет неожиданное имя, например. ansible (когда pip install ansible --user) и ansible-base (когда pip install ‹github-url› --user). В этом случае может помочь использование списка пипсов. - person alx; 17.05.2020
comment
Да, у меня была эта проблема, когда в репозитории git был дефис (какой-то пакет), а в самом пакете его не было (какой-то пакет). pip uninstall some-package не работает, а pip install somepackage работает. pip list, как было предложено, печатает правильное имя для удаления (хотя может быть сложно понять, что есть что, если это неочевидное имя пакета) - person Andrew; 02.02.2021