[[Vorlage(getestet, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/python.png, 48, align=left)]] Die [http://pypi.python.org/pypi/setuptools Setuptools] {en} 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: {{{#!vorlage Paketinstallation python3-setuptools }}} bzw. für Python 2: {{{#!vorlage Paketinstallation python-setuptools }}} = Benutzung = == easy_install == Das Programm '''easy_install3''' (Python3) bzw. '''easy_install''' (Python 2) bietet eine einfache Möglichkeit, Module aus dem [http://pypi.python.org/pypi Python Package Index] {en} (kurz PyPI) zu installieren. Der PyPI kann als ein Äquivalent zu Perls CPAN, PHP PEAR oder Ruby Gems gesehen werden. [[Vorlage(Fremd, Software, "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 [http://peak.telecommunity.com/DevCenter/PythonEggs Python Eggs] {en} installiert. Dies geschieht über den Aufruf [2] {{{#!vorlage Befehl 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 {{{#!vorlage 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: {{{#!vorlage Befehl sudo easy_install3 foobar==0.2.1 }}} `easy_install3` kennt eine Reihe weiterer Optionen, die über den Aufruf von {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 = * [http://peak.telecommunity.com/DevCenter/setuptools Projektseite] {en} * [https://workaround.org/easy-install-debian Why you should not use easy_install carelessly on Debian] {en} - Blogeintrag zur parallelen Verwendung von `easy_install` und der Paketverwaltung, 10/2009 * [:pip:] - der inoffizielle Nachfolger von easy_install zum Installieren, Deinstallieren und Aktualisieren von Python-Module * [:Python:] {Übersicht} Übersichtsartikel #tag: System, Programmierung, Python