Hallo, ich habe die Python-Verpackung mit setuptools ausprobiert und zum Testen das Modul im Entwicklungsmodus installiert. dh
python setup.py develop
Dies hat mein Modulverzeichnis zu sys.path hinzugefügt. Jetzt möchte ich das Modul entfernen. Gibt es eine Möglichkeit, dies zu tun?
Danke im Voraus
python
setuptools
Copyninja
quelle
quelle
pip
anderen Manager mit Deinstallationsfunktionen zum Verwalten von Python-Paketen.python setup.py develop
mitpip
?--editable
(oder-e
) Argument, das sich ungefähr gleichwertig mit setuptoolsdevelop
verhält . Ich dachte, das wäre vielleicht--editable
neuer als Ihr Kommentar, aber nein - eine schnelle Suche im Pip-Repo auf GitHub zeigt bereits 2009 Verweise auf bearbeitbare Dateien in Commits. Außerdem habe Tomasz Wysocki bereits darauf hingewiesen, bevor Sie einen Kommentar abgegeben haben !Antworten:
Verwenden Sie die Option
--uninstall
oder , um:-u
develop
Dadurch wird es aus easy-install.pth entfernt und der .egg-Link gelöscht. Das einzige, was es nicht tut, ist (noch) Skripte zu löschen.
quelle
setup.py
manuell entfernen sollten.--user
Option ausführen, wie ich es während der Installation getan habe:python setup.py develop --uninstall --user
rm
oderdel
abhängig von Ihrem Betriebssystem. Was ich damit gemeint habe ist, dass wenn Sie zum Zeitpunkt der Installation einige ausführbare Dateien hatten und deren Namen dann in Ihrer ändern (oder entfernen)setup.py
, diese dannsetup.py
nicht mehr bekannt sind (unabhängig von Ihrerpip
/python
Version und Sie müssen sich um sie kümmern Sie befinden sich normalerweise in einembin
Verzeichnis auf POSIX-Systemen (Linuxes, BSDs, MacOS X lesen) und können sich nicht an Win erinnern.Bearbeiten Sie easy-install.pth in Ihrem Site-Packages-Verzeichnis und entfernen Sie die Zeile, die auf Ihre Entwicklungsversion dieses Pakets verweist.
quelle
develop --uninstall
fehlschlug, weil ich ein Projekt in zwei Teile geteilt hatte und das falsche im ursprünglichen Verzeichnis verblieb.Ich hatte schon einmal ein ähnliches Problem. Ich habe die Python-Shell geladen, das Modul importiert und dann sein
__file__
Attribut gedruckt . Von dort würde ich einfach den Ordner oder die Datei entfernen, die zugeordnet wurden.Möglicherweise möchten Sie die Verwendung von virtualenv untersuchen. Mit diesem System können Sie eine von Ihrem System getrennte Python-Instanz erstellen. Alle Module, die Sie in dieser Instanz installieren oder verwenden, sind in sich geschlossen, einschließlich der Version des Moduls.
Ich behalte alle meine Projekte jetzt in der eigenen virtuellen Umgebung, die es mir ermöglicht, alle gewünschten Module zu installieren und zu verwenden, ohne mir Gedanken darüber machen zu müssen, ob Module aus anderen Projekten verschraubt werden.
quelle