Можете ли вы просто удалить каталог из вашей установки python, или есть какие-либо устаревшие файлы, которые вы должны удалить?
92
Это зависит от параметров, которые вы передаете, install
и содержимого файлов конфигурации distutils. в системе / в пакете. Я не верю, что какие-либо файлы изменяются вне каталогов, указанных таким образом.
Примечательно, что в настоящее время distutils не имеет команды удаления .
Также примечательно, что удаление пакета / яйца может вызвать проблемы с зависимостями - такие утилиты, как easy_install
попытки решить такие проблемы.
Вам нужно будет удалить следующие три вещи, которые будут установлены:
Теперь в моей системе Linux они живут в:
Но в системе Windows они, скорее всего, полностью находятся в каталоге распространения Python. Я понятия не имею об OSX, за исключением того, что мне больше нравится следовать шаблону Linux.
источник
Другой способ взлома на основе метки времени:
touch /tmp/ts
python setup.py install --prefix=<PREFIX>
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
источник
| xargs rm -r
. Я рекомендую просматривать каждый файл вручную . В ext4 (и других файловых системах)find
здесь также будут перечислены все папки . Если ваш префикс был/usr
, вы удалите/usr/*
.Да, безопасно просто удалить все, что установлено distutils. Это касается установленных папок или файлов .egg. Естественно, все, что зависит от этого кода, больше не будет работать.
Если вы хотите, чтобы он снова заработал, просто переустановите.
Кстати, если вы используете distutils, также подумайте об использовании мультиверсии. Это позволяет вам установить несколько версий одного пакета. Это означает, что вам не нужно удалять старую версию пакета, если вы просто хотите установить более новую версию.
источник
В ubuntu 12.04 я обнаружил, что единственное место, где вам нужно искать по умолчанию, находится под
/usr/local/lib/python2.7/
И просто удалите связанные папку и файл, если они есть!
источник
Если это делается для тестирования и / или разработки, в setuptools есть команда разработки, которая обновляется каждый раз, когда вы вносите изменения (поэтому вам не нужно удалять и переустанавливать систему каждый раз, когда вы вносите изменение). И вы также можете удалить пакет, используя эту команду.
Если вы все-таки используете это, все, что вы объявите как сценарий, останется как устаревший файл.
источник
install --record
+xargs rm
удаляет все файлы и оставляет пустые каталоги.
Это не идеально, этого должно быть достаточно, чтобы избежать конфликтов пакетов.
А затем вы можете завершить работу вручную, если хотите, прочитав
files.txt
, или проявить смелость и автоматизировать удаление пустого каталога.Надежным помощником будет:
Протестировано в Python 2.7.6, Ubuntu 14.04.
источник
для Python в Windows:
python -m pip uninstall "package_keyword" uninstall **** (y/n)?
источник
Я только что удалил пакет 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 "$@" -printf '%T@ ' -ls | sort -n | cut -d\ -f 2-
(Я думаю, что это должно быть GNU "find", между прочим; вкус, который вы получаете в OS X, не знает о "-printf '% T @'")
Я использую это все время.
источник
Для Windows 7,
Панель управления -> Программы -> Удалить
, тогда
выберите пакет python для удаления.
источник
В Mac OSX вручную удалите эти 2 каталога по вашему пути ToPython / site-packages / будет работать:
например, чтобы удалить pyasn1 , который является установленным проектом distutils:
Чтобы узнать, где находится ваш сайт-пакет:
источник
ERROR: flake8 3.7.9 has requirement pycodestyle<2.6.0,>=2.5.0, but you'll have pycodestyle 2.3.1 which is incompatible. ERROR: nuscenes-devkit 1.0.8 has requirement motmetrics<=1.1.3, but you'll have motmetrics 1.2.0 which is incompatible. Installing collected packages: descartes, future, torch, cachetools, torchvision, flake8-import-order, xmltodict, entrypoints, flake8, motmetrics, nuscenes-devkit Attempting uninstall: torch Found existing installation: torch 1.0.0 Uninstalling torch-1.0.0: Successfully uninstalled torch-1.0.0 Attempting uninstall: torchvision Found existing installation: torchvision 0.2.1 Uninstalling torchvision-0.2.1: Successfully uninstalled torchvision-0.2.1 Attempting uninstall: entrypoints Found existing installation: entrypoints 0.2.3 ERROR: Cannot uninstall 'entrypoints'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Затем я печатаю:
conda uninstall entrypoints pip install --upgrade pycodestyle pip install nuscenes-devkit
Выполнено!
источник