Як видалити пакети, встановлені за допомогою python easy_install packages - setuptools, code q - a

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

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

Pip. альтернатива setuptools / easy_install, надає команду «видалити».

Потім ви можете використовувати pip uninstall для видалення пакетів, встановлених за допомогою easy_install

Щоб видалити .egg вам потрібно rm -rf яйце (це може бути каталог) і видалити відповідний рядок з site-packages / easy-install.pth

Спочатку ви повинні запустити цю команду:

Він видаляє всі залежності пакета.

Потім видаліть файл яйця цього пакета:

Вся інформація знаходиться в інших відповідях, але жодна з них не підсумовує ваші запити або, здається, робить речі непотрібними складними:

Для видалення необхідно використовувати:

(Установити за допомогою easy_install pip)

Для ваших «встановлених пакетів» необхідно або використовувати:

Який може виводити більше деталей пакету.

(Встановіть за допомогою easy_install yolk або pip install yolk)

У мережі є кілька джерел, що пропонують зламати, перевстановити пакет з опцією -m, а потім просто видаливши файл .egg в lib / і виконавчі файли в bin /. Крім того, обговорення цієї проблеми з setuptools можна знайти на трекері помилок python в якості параметра setuptools issue 21.

Якщо проблема є досить серйозною досадою для вас, ви можете розглянути virtualenv. Він дозволяє створювати середовище, яке інкапсулює бібліотеки python. Ви встановлюєте пакети там, а не в каталог глобальних пакетів сайтів. Будь-які скрипти, які ви запускаєте в цьому середовищі, мають доступ до цих пакетів (і, можливо, до ваших глобальним). Я використовую це при оцінці пакетів, які я не впевнений, що я хочу / повинен встановити глобально. Якщо ви вирішите, що вам не потрібен пакет, досить просто просто видалити цю віртуальне середовище. Він досить простий у використанні. Зробіть новий env:

Virtual_envt встановлює setuptools для вас в новому середовищі, тому ви можете:

Ви навіть можете створити свої власні скрипти, які налаштовують нове середовище. Таким чином, за допомогою однієї команди ви можете створити нове віртуальне env с, скажімо, python 2.6, psycopg2 і django, встановленими за замовчуванням (ви можете встановити версію python, що залежить від env, якщо хочете).

Якщо ви замінили пакет на іншу версію, ви можете просто видалити пакети, які вам не потрібні, видаливши файл або каталог PackageName-versioninfo.egg (знайдений в каталозі установки).

Якщо ви хочете видалити поточну встановлену версію пакета (або всі версії пакету), ви повинні спочатку запустити:

Це гарантує, що Python НЕ продовжить пошук пакета, який ви плануєте видалити. Після цього ви можете безпечно видалити файли .egg або каталоги разом з будь-якими сценаріями, які ви хочете видалити.

Щоб вказати встановлені пакети Python, ви можете використовувати yolk -l. Спочатку вам потрібно використовувати easy_install yolk.

Пішов на це питання, намагаючись видалити безліч випадкових пакетів Python, встановлених з плином часу.

Використовуючи інформацію з цієї теми, це те, що я придумав:

package_list очищається (awk) від pip freeze контуру в virtualenv.

Щоб видалити майже всі пакети Python:

Я зіткнувся з тією ж проблемою на моєму MacOS X Leopard 10.6.blah.

Рішення полягає в тому, щоб переконатися, що ви викликаєте MacPorts Python:

Надіюсь це допоможе.

Для мене тільки видалення цього файлу: easy-install.pth працював, rest pip install django == 1.3.7