Как удалить пакет, установленный с помощью pip install --user



есть --user опция для pip, которая может установить пакет Python для каждого пользователя:



pip install --user [python-package-name]


я использовал эту опцию для установки пакета на сервере, для которого у меня нет корневого доступа. Теперь мне нужно удалить установленный пакет для текущего пользователя. Я попытался выполнить эту команду:



pip uninstall --user [python-package-name]


а я:



no such option: --user


как я могу удалить пакет, который я установил с pip install --user, кроме ручного поиска и удаления посылка?



Я нашел эту статью



pip не удается удалить из каталога per-user site-packages



который описывает, что удаление пакетов из каталога пользователя не поддерживается. Согласно статье, если она была реализована правильно, то с



pip uninstall [package-name]


установленный пакет также будет искать в каталогах пользователей. Но проблема все еще остается для меня. Что если один и тот же пакет был установлен как общесистемных, так и для каждого пользователя?
Что делать, если кому-то нужно настроить таргетинг на определенный каталог пользователей?

649   5  

5 ответов:

Протестировав это с помощью Python 3.5 и pip 7.1.2 на Linux, ситуация выглядит так:

  • pip install --user somepackage устанавливается с $HOME/.local, и удаление его работает с помощью pip uninstall somepackage.

  • это правда или нет somepackage также установлено общесистемное в то же время.

  • если пакет установлен в обоих местах, будет удален только локальный. Удаление пакета в масштабах всей системы используя pip, сначала удалите его локально, а затем снова запустите ту же команду удаления, с root привилегии.

  • в дополнение к предопределенному каталогу установки пользователя,pip install --target somedir somepackage установит пакет в somedir. Невозможно удалить пакет из такого места с помощью pip. (Но есть несколько старый несвязанный запрос pull на Github, который реализует pip uninstall --target.)

  • так как только места pip никогда удаление из общесистемного и предопределенного пользователя-локального, вам нужно запустить pip uninstall как соответствующий пользователь для удаления из локального каталога установки данного пользователя.

пример удаления пакета 'oauth2client' на MacOS:

pip uninstall oauth2client

ответ Не возможно. Вы должны удалить его вручную.

Как уже упоминал @thomas-lotze, в настоящее время pip tooling этого не делает, поскольку нет соответствующей опции --user. Но то, что я нахожу, это то, что я могу проверить ~/.локальный / bin и искать конкретный пункт#.# который, как мне кажется, соответствует параметру --user.

в моем случае:

antho@noctil: ~/.l/bin$ pwd
/home/antho/.local/bin
antho@noctil: ~/.l/bin$ ls pip*
pip  pip2  pip2.7  pip3  pip3.5

а затем просто удалите с определенной версией pip.

Я запускаю версию Anaconda 4.3.22 и среду python3.6.1, и у меня была эта проблема. Вот история и исправление:

pip uninstall opencv-python # -- the original step. failed.

ImportError: DLL load failed: The specified module could not be found.

Я сделал это в моей среде python3. 6 и получил эту ошибку.

python -m pip install opencv-python # same package as above.
conda install -c conda-forge opencv # separate install parallel to opencv
pip-install opencv-contrib-python # suggested by another user here. doesn't resolve it.

затем я попытался загрузить python3.6 и положить python3.DLL в папке и в различных папках. ничего не изменилось.

наконец, это исправлено это:

pip uninstall opencv-python

(другая версия conda-forge все еще установлена) это осталась только версия conda, и это работает в 3.6.

>>>import cv2
>>>

работает!

Comments

    Ничего не найдено.