ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Python Setuptools

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Die anderen Werkzeuge aus den Setuptools können auch noch beschrieben werden.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Setuptools {en} ist eine Sammlung von Hilfsprogrammen für Python, mit deren Hilfe man leicht Python-Module bauen und installieren kann.

Installation

Die Setuptools installiert [1] man über das Paket

  • python-setuptools

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install python-setuptools 

sudo aptitude install python-setuptools 

Benutzung

easy_install

Das Programm easy_install bietet eine einfache Möglichkeit, Module aus dem Python Package Index {en} (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_install installierte Module denen aus der Paketverwaltung vorgezogen werden.

Die Module werden in Form von sogenannten Python Eggs {en} installiert. Dies geschieht über den Aufruf [2]

sudo easy_install MODULNAME 

Der Installationspfad ist /usr/local/lib/pythonVERSION/dist-packages/ (Ubuntu 9.10) bzw. /usr/lib/pythonVERSION/site-packages/ (Ubuntu 8.04). Module aus dem 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_install -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_install foobar==0.2.1 

easy_install kennt eine Reihe weiterer Optionen, die über den Aufruf von

easy_install --help 

angesehen werden können.

Module löschen

easy_install 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_install -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/python-setuptools.txt.gz, welche nach der Installation des Setuptools-Pakets vorhanden ist.

ubuntuusers.local › WikiPython Setuptools