Python Setuptools
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Die Setuptools 🇬🇧 sind eine Sammlung von Hilfsprogrammen für Python, mit deren Hilfe man leicht Python-Module bauen und installieren kann.
Auch wenn die Setuptools nach wie vor funktionieren und unterstützt werden, ist pip der gängigere Weg zur Installation von Python-Modulen, das auch seit Python 3.4 Teil der Standardinstallation von Python ist.
Installation¶
Die Setuptools installiert [1] man für Python 3 über das Paket:
python3-setuptools
Befehl zum Installieren der Pakete:
sudo apt-get install python3-setuptools
Oder mit apturl installieren, Link: apt://python3-setuptools
bzw. für Python 2:
python-setuptools
Befehl zum Installieren der Pakete:
sudo apt-get install python-setuptools
Oder mit apturl installieren, Link: apt://python-setuptools
Benutzung¶
easy_install¶
Das Programm easy_install3 (Python3) bzw. easy_install (Python 2) bietet eine einfache Möglichkeit, Module aus dem Python Package Index 🇬🇧 (kurz PyPI) zu installieren. Der PyPI kann als ein Äquivalent zu Perls CPAN, PHP PEAR oder Ruby Gems gesehen werden.
Hinweis!
Fremdsoftware kann das System gefährden.
Anmerkung: Module aus dem Python Package Index werden an der Paketverwaltung „vorbei“ installiert. Dies birgt zwar an sich gesehen keine Konflikte, kann aber zu unvorhergesehen Ergebnissen oder Problemen mit Python-Skripten führen, wenn das gleiche Python Modul auch über die Paketverwaltung installiert wird, zumal mittels easy_install3
bzw. easy_install
installierte Module denen aus der Paketverwaltung vorgezogen werden.
Die Module werden in Form von sogenannten Python Eggs 🇬🇧 installiert. Dies geschieht über den Aufruf [2]
sudo easy_install3 MODULNAME
Der Installationspfad ist /usr/local/lib/pythonVERSION/dist-packages/ . Module von PyPi lösen Abhängigkeiten, ebenso wie die Paketverwaltung von Ubuntu, selbstständig auf. D.h. benötigt ein Modul weitere Module, um korrekt zu funktionieren, dann werden diese ebenfalls installiert.
Möchte man ein Modul aktualisieren, so geschieht dies über den Befehl
sudo easy_install3 -U MODULNAME
Benötigt man - aus welchem Grund auch immer - eine ältere Version eines Moduls, so kann man auch explizit die Versionsnummer bei der Installation mit angeben. Der folgende Befehl würde z.B. die Version 0.2.1 des Moduls "foobar" installieren:
sudo easy_install3 foobar==0.2.1
easy_install3
kennt eine Reihe weiterer Optionen, die über den Aufruf von
easy_install3 --help
angesehen werden können.
Module löschen¶
easy_install3
kennt keine direkte Version zum Löschen von Installierten Modulen, diese muss in zwei Schritten händisch erfolgen.
Als erstes "de-registriert" man das Modul in Python, so dass nicht mehr danach gesucht wird:
sudo easy_install3 -mxN MODULNAME
Danach kann man das Unterverzeichnis des Moduls in dem oben genannten Installationsverzeichnis entfernen.
Hat man noch alte Versionen eines Moduls auf dem Rechner, z.B. weil man mehrfach mittels der Option -U
ein Update durchgeführt hatte, so kann man die entsprechenden Unterverzeichnisse direkt löschen, ohne den oben genannten Befehl vorher aufzurufen. Der Befehl ist in der Tat nur für die neuste Version eines Moduls notwendig.
Weiterhin installieren einige Module nicht nur den eigentlichen Python-Code in dem oben genannten Verzeichnis, sondern installieren auch eine ausführbare Datei. Dies ist z.B. oft dann der Fall, wenn das Modul auch alleinstehend wie ein eigenes Programm funktioniert. Diese Datei muss auch von Hand gelöscht werden, der Speicherort ist normalerweise /usr/local/bin.
Weitere Funktionen¶
Wie oben bereits erwähnt besitzen die Setuptools ein Vielzahl weiterer nützlicher Funktionen. Einen guten Einsteig biete das Lesen der (englischsprachigen) Datei /usr/share/doc/python3-setuptools.txt.gz, welche nach der Installation des Setuptools-Pakets vorhanden ist.
Links¶
Projektseite 🇬🇧
Why you should not use easy_install carelessly on Debian 🇬🇧 - Blogeintrag zur parallelen Verwendung von
easy_install
und der Paketverwaltung, 10/2009pip - der inoffizielle Nachfolger von easy_install zum Installieren, Deinstallieren und Aktualisieren von Python-Module
Python Übersichtsartikel