Python easy_install
macht die Installation neuer Pakete äußerst bequem. Soweit ich das beurteilen kann, werden jedoch nicht die anderen allgemeinen Funktionen eines Abhängigkeitsmanagers implementiert - das Auflisten und Entfernen installierter Pakete.
Was ist der beste Weg, um herauszufinden, was installiert ist, und was ist der bevorzugte Weg, um installierte Pakete zu entfernen? Gibt es Dateien, die aktualisiert werden müssen, wenn ich Pakete manuell entferne (z. B. von rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
oder ähnlich)?
python
packages
setuptools
easy-install
ire_and_curses
quelle
quelle
easy_uninstall
, noch b: erwähnt, wie man das tun kann--help
- verwirrt meinen Verstand / macht meine Seele wütend / macht mein Herz traurig .Antworten:
pip , eine Alternative zu setuptools / easy_install, bietet den Befehl "deinstallieren".
Installieren Sie das Rohr gemäß den Installationsanweisungen :
Anschließend können Sie
pip uninstall
mit installierte Pakete entferneneasy_install
quelle
Um ein zu deinstallieren
.egg
, müssen Sierm -rf
das Ei (es könnte ein Verzeichnis sein) und die passende Zeile aus entfernensite-packages/easy-install.pth
quelle
pip
Paketmanager enthält eine Deinstallationsfunktion.data_files
undscripts
(und möglicherweise andere Dateikategorien) auf dem System hinterlässt . Das EiEGG-INFO/SOURCES.txt
enthält eine Liste allerpackage
Dateien undsources
, aber nichtdata_files
, die in einem beliebigen Verzeichnis auf Ihrem System installiert werden können ...Zuerst müssen Sie diesen Befehl ausführen:
Es entfernt alle Abhängigkeiten des Pakets.
Entfernen Sie dann die Eidatei dieses Pakets:
quelle
-m
ist nicht der richtige Befehl easy_install, um etwas zu entfernen, soweit ich das beurteilen kann, aber diese Antwort gibt den entscheidenden Speicherort der easy_install-Pakete an, den andere Antworten nicht haben. Einrm -rf /usr/local/lib/python*
vor der Installation von Pip ist derAlle Informationen sind in den anderen Antworten enthalten, aber keine fasst Ihre beiden Anfragen zusammen oder scheint die Dinge unnötig komplex zu machen:
Verwenden Sie für Ihre Entfernung Folgendes:
(installieren mit
easy_install pip
)Verwenden Sie für Ihre Liste der installierten Pakete Folgendes:
Oder:
Hier können weitere Paketdetails ausgegeben werden.
(Installation über
easy_install yolk
oderpip install yolk
)quelle
yolk -l
sehe ich, dass ich doppelte Pakete wie "scipy -0.11.0 -non-active development" und "scipy -0.14.0 ... -active development" habe. Wie kann ich diese nicht aktiven Entwicklungspakete deinstallieren?Es gibt verschiedene Quellen im Internet, die einen Hack vorschlagen, indem Sie das Paket mit der Option -m neu installieren und dann einfach die .egg-Datei in lib / und die Binärdateien in bin / entfernen. Eine Diskussion zu diesem Setuptools-Problem finden Sie im Python-Bug-Tracker als Setuptools- Problem 21 .
Bearbeiten: Der Link zum Python-Bugtracker wurde hinzugefügt.
quelle
Wenn das Problem für Sie ernst genug ist, können Sie virtualenv in Betracht ziehen . Sie können eine Umgebung erstellen, die Python-Bibliotheken kapselt. Sie installieren Pakete dort und nicht im globalen Verzeichnis der Site-Pakete. Alle Skripte, die Sie in dieser Umgebung ausführen, haben Zugriff auf diese Pakete (und optional auch auf Ihre globalen). Ich verwende dies häufig bei der Bewertung von Paketen, bei denen ich nicht sicher bin, ob ich sie global installieren möchte / muss. Wenn Sie entscheiden, dass Sie das Paket nicht benötigen, ist es einfach genug, diese virtuelle Umgebung einfach wegzublasen. Es ist ziemlich einfach zu bedienen. Erstelle eine neue Umgebung:
virtual_envt installiert setuptools für Sie in der neuen Umgebung, sodass Sie Folgendes tun können:
Sie können sogar eigene Boostrap-Skripte erstellen, mit denen Sie Ihre neue Umgebung einrichten können. Mit einem Befehl können Sie also eine neue virtuelle Umgebung erstellen, beispielsweise mit Python 2.6, Psycopg2 und Django, die standardmäßig installiert sind (Sie können eine env-spezifische Version von Python installieren, wenn Sie möchten).
quelle
Offizielle (?) Anweisungen: http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages
quelle
Versuchen
dann
quelle
$ easy_install -mxN PACKAGE
dann$ rm -rf .../lib/python2.X/site-packages/PACKAGE.egg
(siehe peak.telecommunity.com/DevCenter/… )Sie können installierte Python-Pakete auflisten
yolk -l
. Sie müssen jedocheasy_install yolk
zuerst verwenden.quelle
Kam auf diese Frage, als ich versuchte, die vielen zufälligen Python-Pakete zu deinstallieren, die im Laufe der Zeit installiert wurden.
Unter Verwendung der Informationen aus diesem Thread habe ich Folgendes gefunden:
Das
package_list
wird von einempip freeze
in einer virtuellen Umgebung aufgeräumt (awk) .So entfernen Sie fast alle Python-Pakete:
quelle
<package_list xargs -n1 sudo pip uninstall -y
vermeidet ein UUOC!Ich bin auf meinem MacOS X Leopard 10.6.blah auf dasselbe Problem gestoßen.
Die Lösung besteht darin, sicherzustellen, dass Sie MacPorts Python aufrufen:
Hoffe das hilft.
quelle
Für mich nur das Löschen dieser Datei: easy-install.pth hat funktioniert, rest pip install django == 1.3.7
quelle
Das hat bei mir funktioniert. Es ähnelt den vorherigen Antworten, aber der Pfad zu den Paketen ist unterschiedlich.
Plaform: MacOS High Sierra Version 10.13.3
quelle
error: No urls, filenames, or requirements specified (see --help)