Как удалить пакеты, установленные с помощью простой установки Python?



в Python easy_install делает установку новых пакетов чрезвычайно удобной. Однако, насколько я могу судить, он не реализует другие общие функции менеджера зависимостей - листинг и удаление установленных пакетов.



каков наилучший способ узнать, что установлено, и каков предпочтительный способ удаления установленных пакетов? Есть ли файлы, которые необходимо обновить, если я удаляю пакеты вручную (например, by rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg или подобные)?

746   13  

13 ответов:

Пип, альтернатива setuptools / easy_install, предоставляет команду "Удалить".

установите pip в соответствии с инструкция по установке:

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

затем вы можете использовать pip uninstall удаление пакетов, установленных с easy_install

удалить .egg вам нужно rm -rf яйцо (это может быть каталог) и удалить соответствующую строку с site-packages/easy-install.pth

сначала вы должны выполнить эту команду:

$ easy_install -m [PACKAGE]

Он удаляет все зависимости пакета.

затем удалите файл яйца этого пакета:

$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg

вся информация находится в других ответах, но никто не суммирует и ваши запросы или, кажется, делают вещи неоправданно сложными:

  • для вашего удаления необходимо использовать:

    pip uninstall <package>
    

    (установка с помощью easy_install pip)

  • для вашего "списка установленных пакетов" необходимо либо использовать:

    pip freeze
    

    или:

    yolk -l
    

    который может вывести больше деталей пакета.

    (Установка через easy_install yolk или pip install yolk)

здесь несколько источники в сети предлагают взломать, переустановив пакет с опцией-m, а затем просто удалив .файл яйца в lib/и двоичные файлы в bin/. Кроме того, обсуждение этой проблемы setuptools можно найти на Python bug tracker как setuptools вопрос 21.

Edit: добавлена ссылка на python bugtracker.

Если проблема серьезная-достаточно раздражает вас, вы можете рассмотреть virtualenv. Это позволяет создать среду, которая инкапсулирует библиотеки Python. Вы устанавливаете пакеты там, а не в глобальном каталоге site-packages. Любые сценарии, которые вы запускаете в этой среде, имеют доступ к этим пакетам (и, возможно, к вашим глобальным). Я использую это много при оценке пакетов, которые я не уверен, что хочу/нужно установить глобально. Если вы решите, что нет нужен пакет,это достаточно легко, чтобы просто взорвать эту виртуальную среду. Это довольно простой в использовании. Сделайте новый env:

$>virtualenv /path/to/your/new/ENV

virtual_envt устанавливает setuptools для вас в новой среде, так что вы можете сделать:

$>ENV/bin/easy_install

вы даже можете создать свои собственные сценарии boostrap, которые настраивают вашу новую среду. Таким образом, с помощью одной команды вы можете создать новый виртуальный env, например, python 2.6, psycopg2 и django, установленный по умолчанию (вы можете установить версию env питона, если хотите).

официальный(?) инструкции: http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

Если вы заменили пакет с другой версией, то вы можете просто удалить пакет(ы) вам не нужно, удалив PackageName-versioninfo.файл или каталог egg (находится в каталоге установки).

Если вы хотите удалить текущую установленную версию пакета (или все версии пакета), вы должны первый запуск:

easy_install -mxN PackageName

Это гарантирует, что Python не продолжит поиск пакета, который вы планируете удалить. После того как вы сделали это, вы можете безопасно удалить .яичные файлы или каталоги, а также любые скрипты, которые вы хотите удалить.

попробовать

$ easy_install -m [PACKAGE]

затем

$ rm -rf .../python2.X/site-packages/[PACKAGE].egg

чтобы перечислить установленные пакеты Python, вы можете использовать yolk -l. Вам нужно будет использовать easy_install yolk во-первых, хотя.

наткнулся на этот вопрос, пытаясь удалить множество случайных пакетов Python, установленных с течением времени.

используя информацию из этой темы, вот что я придумал:

cat package_list | xargs -n1 sudo pip uninstall -y

The package_list очищается (awk) от A pip freeze в virtualenv.

удалить почти все пакеты Python:

yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y

я столкнулся с той же проблемой на моем MacOS X Leopard 10.6.чепуха.

решение состоит в том, чтобы убедиться, что вы вызываете MacPorts Python:

sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql

надеюсь, что это помогает.

для меня только удаление этого файла: простота установки.ПТГ работал, отдых Пип установить django= = 1.3.7

Это работает для меня. Это похоже на предыдущие ответы, но путь к пакетам отличается.

  1. sudo easy_install-m
  2. sudo rm-rf / Library/Python/2.7/site-packages/.яйцо

платформы: высокая macOS и Сьерра-версия 10.13.3

Comments

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