717 Stimmen

Wie entferne ich Pakete, die mit Pythons easy_install installiert wurden?

Pythons easy_install macht die Installation neuer Pakete extrem bequem. Soweit ich das beurteilen kann, implementiert es jedoch nicht die anderen üblichen Funktionen eines Abhängigkeitsmanagers - das Auflisten und Entfernen installierter Pakete.

Wie finde ich am besten heraus, welche Pakete installiert sind, und wie entferne ich installierte Pakete am besten? Gibt es irgendwelche Dateien, die aktualisiert werden müssen, wenn ich Pakete manuell entferne (z.B. durch rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg oder ähnlich)?

67 Stimmen

Dieser Beitrag ist fast 2 Jahre alt, wenn ich diesen Kommentar schreibe. pip ist jetzt effektiv ein Ersatz für easy_install und kann ordnungsgemäß und sauber Pakete (einschließlich Eier) entfernen, die von letzterem installiert wurden. Bitte stellen Sie sicher, dass Sie die Antwort, die dies vorschlägt, weiter unten im Thread hoch bewerten.

55 Stimmen

Das Oxymoron, dass etwas namens "einfach_installieren" - nicht a: ein Gegenstück haben easy_uninstall noch b: sich die Mühe machen zu erwähnen, wie man dies in der --help - verblüfft meinen Verstand / _verärgert meine Seele / betrübt mein Herz .

13 Stimmen

@mike was ist, wenn ich versuche, pip zu deinstallieren? (:

24voto

mazelife Punkte 2039

Wenn das Problem für Sie ein ernsthaftes Ärgernis ist, könnten Sie Folgendes in Erwägung ziehen virtualenv . Es ermöglicht Ihnen, eine Umgebung zu erstellen, die Python-Bibliotheken kapselt. Sie installieren die Pakete dort und nicht im globalen site-packages-Verzeichnis. Alle Skripte, die Sie in dieser Umgebung ausführen, haben Zugriff auf diese Pakete (und optional auch auf Ihre globalen Pakete). Ich verwende dies häufig, wenn ich Pakete evaluiere, bei denen ich mir nicht sicher bin, ob ich sie global installieren will/brauche. Wenn Sie entscheiden, dass Sie das Paket nicht brauchen, ist es einfach, die virtuelle Umgebung zu löschen. Es ist ziemlich einfach zu benutzen. Erstellen Sie eine neue env:

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

virtual_envt installiert setuptools für Sie in der neuen Umgebung, so dass Sie dies tun können:

$>ENV/bin/easy_install

Sie können sogar Ihre eigenen boostrap-Skripte erstellen, die Ihre neue Umgebung einrichten. So können Sie mit einem einzigen Befehl eine neue virtuelle Umgebung erstellen, in der beispielsweise python 2.6, psycopg2 und django standardmäßig installiert sind (Sie können auch eine umgebungsspezifische Version von python installieren, wenn Sie möchten).

0 Stimmen

Was ist $>? Ist das eine Eingabeaufforderung? Vielleicht wäre eine Korrektur zu $ hilfreicher? Vielen Dank

19voto

Mark Rajcok Punkte 356006

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

Wenn Sie ein Paket durch eine andere Version ersetzt haben, können Sie die nicht benötigten Pakete einfach löschen, indem Sie die Datei oder das Verzeichnis PackageName-versioninfo.egg (im Installationsverzeichnis) löschen.

Wenn Sie die aktuell installierte Version eines Pakets (oder alle Versionen eines Pakets) löschen möchten, sollten Sie zuerst den Befehl

easy_install -mxN PackageName

Dadurch wird sichergestellt, dass Python nicht weiter nach einem Paket sucht, das Sie entfernen wollen. Danach können Sie die .egg-Dateien oder -Verzeichnisse zusammen mit allen Skripten, die Sie entfernen möchten, sicher löschen.

0 Stimmen

Manche Dinge ändern sich nie, so scheint es! PIP weigerte sich, ein TRAC-Hack-Plugin zu installieren (trac admin), nur easy_install funktioniert. Aber ich habe versehentlich eine alte Version installiert. Und easy_install war nicht in der Lage, das von der https url für das Projekt zu beheben. Also habe ich PIP verwendet, um es zu entfernen, aber nach der Neuinstallation sieht TRAC das Plugin nicht. Also benutze ich die Info hier, um das pkg zu isolieren und es manuell zu löschen und dann neu zu installieren. puh. (python 2.7)

16voto

Jim Geovedi Punkte 161

Intente

$ easy_install -m [PACKAGE]

entonces

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

1 Stimmen

Um ein Paket zu entfernen: $ easy_install -mxN PACKAGE dann $ rm -rf .../lib/python2.X/site-packages/PACKAGE.egg (Siehe peak.telecommunity.com/DevCenter/ )

7voto

Enis Afgan Punkte 180

Um installierte Python-Pakete aufzulisten, können Sie yolk -l . Sie müssen Folgendes verwenden easy_install yolk Aber zuerst.

6voto

m0hit Punkte 61

Ich bin auf diese Frage gestoßen, als ich versuchte, die vielen zufälligen Python-Pakete zu deinstallieren, die im Laufe der Zeit installiert wurden.

Anhand der Informationen aus diesem Thread habe ich Folgendes herausgefunden:

cat package_list | xargs -n1 sudo pip uninstall -y

Le site package_list aufgeräumt wird (awk) aus einer pip freeze in einer Virtualenv.

Zum Entfernen fast alle Python-Pakete:

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

0 Stimmen

<package_list xargs -n1 sudo pip uninstall -y vermeidet eine UUOC!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X