Question Comment puis-je supprimer les paquets installés avec easy_install de Python?


Python easy_install rend l'installation de nouveaux paquets extrêmement pratique. Cependant, autant que je sache, il n'implémente pas les autres fonctionnalités communes d'un gestionnaire de dépendances - répertorier et supprimer les paquets installés.

Quel est le meilleur moyen de savoir ce qui est installé et quelle est la meilleure façon de supprimer les paquets installés? Y a-t-il des fichiers qui doivent être mis à jour si je supprime des paquets manuellement (par exemple par rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg ou similaire)?


652
2017-08-05 07:33


origine


Réponses:


pépin, une alternative à setuptools / easy_install, fournit une commande "uninstall".

Installez pip selon le instructions d'installation:

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

Ensuite, vous pouvez utiliser pip uninstall pour supprimer les paquets installés avec easy_install


598
2017-07-21 08:47



Pour désinstaller un .egg tu dois rm -rf l'oeuf (il pourrait être un répertoire) et retirer la ligne correspondante de site-packages/easy-install.pth


184
2017-08-05 13:31



Vous devez d'abord exécuter cette commande:

$ easy_install -m [PACKAGE]

Il supprime toutes les dépendances du package.

Ensuite, retirez le fichier d'oeufs de ce paquet:

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

153
2018-06-07 09:56



Toutes les infos sont dans les autres réponses, mais aucune ne résume tous les deux vos demandes ou semblent rendre les choses inutilement complexes:

  • Pour vos besoins de suppression, utilisez:

    pip uninstall <package>
    

    (installer en utilisant easy_install pip)

  • Pour votre 'liste des paquets installés', utilisez soit:

    pip freeze
    

    Ou:

    yolk -l
    

    qui peut produire plus de détails sur le paquet.

    (Installer via easy_install yolk ou pip install yolk)


53
2018-01-03 21:04



Il y a nombreuses sources sur le net suggérant un hack en réinstallant le paquet avec l'option -m, puis en supprimant simplement le fichier .egg dans lib / et les binaires dans bin /. En outre, une discussion sur ce problème de setuptools peut être trouvée sur le tracker de bug de python comme setuptools numéro 21.

Edit: Ajout du lien vers le bugtracker python.


28
2017-08-05 07:53



Si le problème vous inquiète sérieusement, vous pourriez envisager virtualenv. Il vous permet de créer un environnement qui encapsule les bibliothèques python. Vous installez des packages plutôt que dans le répertoire global des packages de sites. Tous les scripts que vous exécutez dans cet environnement ont accès à ces packages (et éventuellement à vos packages globaux). Je l'utilise beaucoup lors de l'évaluation de paquets que je ne suis pas sûr de vouloir installer / installer globalement. Si vous décidez que vous n'avez pas besoin du package, il est assez facile de le faire disparaître. C'est assez facile à utiliser. Faire un nouvel env:

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

virtual_envt installe setuptools pour vous dans le nouvel environnement, donc vous pouvez faire:

$>ENV/bin/easy_install

Vous pouvez même créer vos propres scripts boostrap qui configurent votre nouvel environnement. Donc, avec une commande, vous pouvez créer un nouvel environnement virtuel avec, disons, python 2.6, psycopg2 et django installés par défaut (vous pouvez installer une version spécifique de env de python si vous le souhaitez).


25
2017-08-05 13:28



Instructions officielles (?): http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

Si vous avez remplacé un paquet par une autre version, vous pouvez simplement supprimer le ou les paquet (s) dont vous n'avez pas besoin en supprimant le fichier ou le répertoire PackageName-versioninfo.egg (qui se trouve dans le répertoire d'installation).

Si vous voulez supprimer la version actuellement installée d'un paquet (ou toutes les versions d'un paquet), vous devez d'abord lancer:

easy_install -mxN PackageName

Cela garantira que Python ne continue pas à rechercher un package que vous envisagez de supprimer. Après avoir fait cela, vous pouvez supprimer en toute sécurité les fichiers .egg ou les répertoires, ainsi que les scripts que vous souhaitez supprimer.


17
2017-08-11 02:28



essayer

$ easy_install -m [PACKAGE]

puis

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

15
2017-07-21 08:40



Pour répertorier les packages Python installés, vous pouvez utiliser yolk -l. Vous devrez utiliser easy_install yolk d'abord cependant.


7
2017-12-01 01:25



Entré à travers cette question, tout en essayant de désinstaller les nombreux paquets Python aléatoires installés au fil du temps.

En utilisant les informations de ce fil, voici ce que j'ai trouvé:

cat package_list | xargs -n1 sudo pip uninstall -y

le package_list est nettoyé (awk) d'un pip freeze dans un virtualenv.

Retirer presque tous les paquets Python:

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

6
2017-12-01 04:56



J'ai rencontré le même problème sur mon MacOS X Leopard 10.6.blah.

La solution est de vous assurer que vous appelez le MacPorts Python:

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

J'espère que cela t'aides.


3
2018-04-15 13:45