Подтвердить что ты не робот

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

Можете ли вы просто удалить каталог из вашей установки python или какие-либо затяжные файлы, которые вы должны удалить?

4b9b3361

Ответ 1

Это зависит от параметров, которые вы передаете для install и от содержимого файлов конфигурации distutils в системе/в пакете. Я не верю, что какие-либо файлы изменяются за пределами каталогов, указанных этими способами.

Примечательно, что в настоящее время distutils не имеет команды удаления.

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

Ответ 2

Три вещи, которые устанавливаются, которые вам нужно удалить:

  • Пакеты/модули
  • Сценарии
  • Файлы данных

Теперь в моей Linux-системе они живут в:

  • /usr/lib/python2.5/site-packages
  • /USR/бен
  • /USR/доли

Но в системе Windows они, скорее всего, полностью находятся в каталоге распространения Python. Я понятия не имею о OSX, кроме того, что больше похоже на образец linux.

Ответ 3

Другая временная метка, основанная на взломе:

  • Создать якорь: touch /tmp/ts
  • Переустановите удаляемый пакет: python setup.py install --prefix=<PREFIX>
  • Удалите файлы, которые являются более свежими, чем файл привязки: find <PREFIX> -cnewer /tmp/ts | xargs rm -r

Ответ 4

Да, безопасно просто удалить все, что было установлено distutils. Это касается установленных папок или .egg файлов. Естественно, что все, что зависит от этого кода, больше не будет работать.

Если вы хотите, чтобы он снова работал, просто переустановите.

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

Ответ 5

Если это для целей тестирования и/или разработки, setuptools имеет develop, которая обновляется каждый раз при внесении изменений (поэтому вам не нужно удалять и переустанавливать каждый раз, когда вы вносите изменения). И вы также можете удалить пакет, используя эту команду.

Если вы используете это, все, что вы объявляете как script, останется в качестве затяжного файла.

Ответ 6

В ubuntu 12.04, я обнаружил, что единственное место, которое вам нужно посмотреть по умолчанию, находится под

/usr/local/lib/python2.7/

И просто удалите связанную папку и файл, если есть один!

Ответ 7

Я просто удалил пакет python, и хотя я не уверен, что сделал это отлично, я достаточно уверен.

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

К счастью, у меня установлен python под /opt/Python-2.6.1; если бы я использовал Python, который поставляется вместе со своим дистрибутивом Linux, мне пришлось бы прочесывать все /usr, что заняло бы много времени.

Затем я только что просмотрел этот список и с облегчением отметил, что все материалы, которые я хотел использовать, состояли из одного каталога /opt/Python-2.6.1/lib/python2.6/site-packages/module-name/ и одного файла /opt/Python-2.6.1/lib/python2.6/site-packages/module-x.x.x_blah-py2.6.egg-info.

Поэтому я просто удалил их.

Вот как я получил отсортированный по дате список файлов:

find "[email protected]" -printf '%[email protected] ' -ls | sort -n | cut -d\ -f 2-

(Я думаю, что, кстати, GNU "нашел", вкус, который вы получаете в OS X, не знает о "-printf" % T @")

Я использую это все время.

Ответ 8

Для Windows 7

Панель управления → Программы → Удалить

то

выберите пакет python для удаления.

Ответ 9

install --record + xargs rm

sudo python setup.py install --record files.txt
xargs sudo rm -rf < files.txt

удаляет все файлы и оставляет пустые каталоги позади.

Это не идеально, этого должно быть достаточно, чтобы избежать конфликтов пакетов.

И тогда вы можете закончить работу вручную, если хотите, прочитав files.txt, или будьте смелее и автоматизируйте удаление пустых каталогов.

Безопасным помощником будет:

python-setup-uninstall() (
  sudo rm -f files.txt
  sudo python setup.py install --record files.txt && \
  xargs rm -rf < files.txt
  sudo rm -f files.txt
)

Протестировано в Python 2.7.6, Ubuntu 14.04.

Ответ 10

для Python в Windows:

python -m pip uninstall "package_keyword"
uninstall **** (y/n)?

Ответ 11

В Mac OSX, вручную удалите эти 2 директории в вашем pathToPython/site-packages/:

  • {имя пакета}
  • {PackageName} - {версия} -info

например, чтобы удалить pyasn1, который является установленным проектом distutils:

  • rm -rf lib/python2.7/site-packages/pyasn1
  • rm -rf lib/python2.7/site-packages/pyasn1-0.1.9-py2.7.egg -info

Чтобы узнать, где находится ваш сайт-пакеты:

python -m site