it-swarm.dev

Come rimuovo i pacchetti installati con easy_install di Python?

Python easy_install rende l'installazione di nuovi pacchetti estremamente conveniente. Tuttavia, per quanto posso dire, non implementa le altre funzionalità comuni di un manager delle dipendenze - elencando e rimuovendo i pacchetti installati.

Qual è il modo migliore per scoprire cosa è installato e qual è il modo migliore per rimuovere i pacchetti installati? Ci sono file che devono essere aggiornati se rimuovo i pacchetti manualmente (ad esempio tramite rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.Egg o simili)?

674
ire_and_curses

pip , un'alternativa a setuptools/easy_install, fornisce un comando "uninstall".

Installa pip in base a istruzioni di installazione :

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

Quindi puoi usare pip uninstall per rimuovere i pacchetti installati con easy_install

609
lunaryorn

Per disinstallare un .Egg è necessario rm -rf the Egg (potrebbe essere una directory) e rimuovere la riga corrispondente da site-packages/easy-install.pth

185
joeforker

Per prima cosa devi eseguire questo comando:

$ easy_install -m [PACKAGE]

Rimuove tutte le dipendenze del pacchetto.

Quindi rimuovi il file Egg di quel pacchetto:

$ Sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].Egg
155
PythonDev

Tutte le informazioni sono nelle altre risposte, ma nessuna riepiloga entrambe le tue richieste o sembrano rendere inutilmente complesse le cose:

  • Per la tua rimozione devi usare:

    pip uninstall <package>
    

    (installa usando easy_install pip)

  • Per il tuo 'elenco di pacchetti installati' è necessario utilizzare:

    pip freeze
    

    O:

    yolk -l
    

    che può produrre più dettagli del pacchetto.

    (Installa tramite easy_install yolk o pip install yolk)

55
Rabarberski

Ci sono diversi fonti sulla rete che suggeriscono un hack reinstallando il pacchetto con l'opzione -m e quindi rimuovendo semplicemente il file .Egg in lib/e i binari in bin /. Inoltre, la discussione su questo problema di setuptools può essere trovata sul bug tracker di python come setuptools issue 21 .

Modifica: aggiunto il collegamento al bugtracker Python.

28
c089

Se il problema è abbastanza fastidioso per te, potresti prendere in considerazione virtualenv . Ti permette di creare un ambiente che incapsula le librerie python. Si installano i pacchetti lì anziché nella directory globale dei pacchetti del sito. Qualsiasi script eseguito in quell'ambiente ha accesso a quei pacchetti (e facoltativamente, anche quelli globali). Lo uso spesso per valutare pacchetti che non sono sicuro di voler/dover installare a livello globale. Se decidi di non aver bisogno del pacchetto, è abbastanza facile soffiare via quell'ambiente virtuale. È abbastanza facile da usare. Crea un nuovo env:

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

virtual_envt installa setuptools per te nel nuovo ambiente, così puoi fare:

$>ENV/bin/easy_install

Puoi perfino creare i tuoi script boostrap che configurano il tuo nuovo ambiente. Quindi, con un comando, puoi creare un nuovo ambiente virtuale con, per esempio, python 2.6, psycopg2 e Django installati di default (puoi installare una versione di python specifica per env se vuoi).

25
mazelife

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

Se hai sostituito un pacchetto con un'altra versione, puoi semplicemente eliminare i pacchetti che non ti servono eliminando il file PackageName-versioninfo.Egg o la directory (che si trova nella directory di installazione).

Se si desidera eliminare la versione attualmente installata di un pacchetto (o tutte le versioni di un pacchetto), è necessario prima eseguire:

easy_install -mxN PackageName

Ciò assicurerà che Python non continui a cercare un pacchetto che stai pianificando di rimuovere. Dopo averlo fatto, puoi cancellare in modo sicuro i file o le directory .Egg, insieme agli script che desideri rimuovere.

18
Mark Rajcok

provare

$ easy_install -m [PACKAGE]

poi

$ rm -rf .../python2.X/site-packages/[PACKAGE].Egg
15
Jim Geovedi

Per elencare i pacchetti Python installati, puoi usare yolk -l. Per prima cosa dovrai usare easy_install yolk.

7
Enis Afgan

È venuto attraverso questa domanda, mentre provava a disinstallare i molti pacchetti Python casuali installati nel tempo.

Usando le informazioni da questo thread, questo è quello che mi è venuto in mente:

cat package_list | xargs -n1 Sudo pip uninstall -y

Il package_list è ripulito (awk) da un pip freeze in un virtualenv.

Per rimuovere quasi tutti i pacchetti Python:

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

Per me solo cancellando questo file: easy-install.pth ha funzionato, resto pip installa Django == 1.3.7

3
Snehal Parmar

Ho incontrato lo stesso problema su MacOS X Leopard 10.6.blah.

La soluzione è assicurarsi di chiamare MacPorts Python:

Sudo port install python26
Sudo port install python_select
Sudo python_select python26
Sudo port install py26-mysql

Spero che questo ti aiuti.

3
Cmag

Questo ha funzionato per me. È simile alle risposte precedenti, ma il percorso per i pacchetti è diverso.

  1. Sudo easy_install -m
  2. Sudo rm -rf /Library/Python/2.7/site-packages/.Egg

Plaform: MacOS High Sierra versione 10.13.3

1
Red Rooster