Ubuntu User Desktopia (Vorschau)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Programmieren<br />
Acire und Python-Snippets<br />
3 Die Projekthomepage des Acire-Snippets-Projekts<br />
Referenz<br />
Paketmanagement: Mehr zum<br />
Thema Softwareverwaltung unter<br />
<strong>Ubuntu</strong> lesen Sie im Artikel ab Seite<br />
36.<br />
Glossar<br />
Entwurfsmuster: Codevorlagen, mit<br />
denen sich bestimmte Probleme lösen<br />
und die sich auf verschiedene<br />
Probleme anwenden lassen.<br />
Borg: Ein vorherrschendes Entwurfsmuster<br />
in Python, das mehrere<br />
Instanzen einer Klasse erlaubt, die<br />
sich aber die Attribute teilen.<br />
Fassade: Eine einzelne Klasse, die<br />
quasi ein „best of“ an Methoden für<br />
den Umgang mit einem Subsystem<br />
anbietet, das eine Reihe von Klassen<br />
umfasst. Die Fassaden leitet<br />
Anfragen an die Unterklassen weiter<br />
und reduziert Komplexität.<br />
Versionsverwaltung: Software, über<br />
die mehrere Entwickler zugleich an<br />
einem Programm arbeiten. Über<br />
eine Versionsverwaltung holen sie<br />
den Quellcode, bearbeiten ihn und<br />
machen ihn dann anderen Entwicklern<br />
wieder zugänglich.<br />
Entwicklerzweig: Die Versionsverwaltung<br />
legt auf Wunsch für jede<br />
veränderte Version einer Software<br />
einen neuen Zweig an. Der Hauptzweig<br />
der Entwickler wird später<br />
zur offiziellen Release-Version der<br />
Software.<br />
Acire und Python-<br />
Snippts stecken<br />
bisher in zwei<br />
verschiedenen<br />
Paketquellen<br />
(Abbildung 3).<br />
Während sich<br />
die Acire-Pakete<br />
kaum ändern,<br />
landen täglich<br />
neue Schnipsel in<br />
der Paketquelle<br />
für Python-<br />
Snippets. Das<br />
bedeutet: Nutzen<br />
Sie diese externe<br />
Paketquelle, bekommen<br />
Sie stets<br />
neue Codebeispiele, sobald Sie Ihr System aktualisieren.<br />
Das hält Ihre Schnipselbibliothek stets auf<br />
dem neuesten Stand.<br />
Um die beiden externen Paketquellen zu ergänzen,<br />
geben Sie die Kommandos aus Listing 1 in ein Terminal<br />
ein. Findet der Befehl in Zeile 4 die Pakete<br />
nicht, gibt es schlicht noch keine für <strong>Ubuntu</strong> 10.10<br />
im PPA. Also verwenden Sie ausnahmesweise die<br />
Versionen für 10.04. Rufen Sie das Software-Center<br />
auf und bearbeiten Sie die Repository-Einträge für<br />
Acire und Python-Snippets. Tauschen Sie jeweils<br />
den Eintrag maverick gegen lucid aus, können Sie<br />
python-snippets und acire problemlos installieren.<br />
Sie erreichen Acire anschließend über den Menüpunkt<br />
Anwendungen | Entwicklung | Acire. Rufen<br />
Sie es auf, erscheint das Fenster aus Abbildung 4.<br />
Acire benutzen<br />
Acire lässt sich extrem einfach benutzen. In der<br />
linken oberen Ecke der grafischen Oberfläche<br />
finden Sie ein Aufklappmenü, das verschiedene<br />
Kategorien von Schnipseln enthält. Sie sind nach<br />
Modulen sortiert, aber es gibt auch ein paar Spezialkategorien,<br />
z. B. Patterns, um Entwurfsmuster<br />
wie Borg und Fassade zu implementieren.<br />
Wählen Sie eine Kategorie aus, erscheint im Bereich<br />
darunter eine Liste mit den in ihr enthaltenen<br />
Codebeispielen. Um eines auszuwählen, klicken<br />
Sie es an, und es erscheint im rechten Bereich des<br />
Editors. Es handelt sich um einen vollwertigen Editor:<br />
Sie können runterblättern und sich den Code<br />
mitsamt Syntaxhighlighting anschauen.<br />
Um den aktuell gewählten Code in Aktion zu<br />
sehen, klicken Sie auf das Knöpfchen Ausführen.<br />
Acire ruft nun ein Terminal auf, das die Ausgabe<br />
des Schnipsels zeigt. Handelt es sich um ein grafisches<br />
Programm, erscheint das neue Fenster über<br />
dem von Acire, das aber weiterhin Kommandozeilenausgaben<br />
im integrierten Terminal anzeigt.<br />
Des Weiteren bearbeiten Sie Code auch in Acire,<br />
um damit zu experimentieren. Geben Sie Ihre Änderungen<br />
direkt ein und drücken Sie Ausführen,<br />
um sie zu testen. Die Ergebnisse speichern Sie in<br />
einer anderen Datei, indem Sie Speichern unter<br />
wählen und einen Ort im Dateisystem aussuchen.<br />
Rufen Sie aus Versehen den nächsten Schnipsel<br />
auf, gehen alle Änderungen verloren: Speichern<br />
Sie also, um den Code nicht zu verlieren!<br />
Eigene Schnipsel<br />
Python ist eine effiziente und flexible Sprache, um<br />
einfach beeindruckende Anwendungen zu erzeugen.<br />
Das Python-Snippets-Projekt (das Acire mit<br />
Codebeispielen füttert) wird von der Community<br />
getragen. Es lebt von den Beiträgen, die Menschen<br />
wie Sie selbst leisten. Die Idee ist einfach: Tragen<br />
Sie ein Codebeispiel bei, haben alle etwas davon.<br />
Daher ermutigen wir jeden, die Bibliothek um ein<br />
oder zwei Schnipsel zu erweitern.<br />
Glücklicherweise ist das Ergänzen von Snippets<br />
recht einfach. Dazu installieren Sie (Referenz:<br />
Paketmanagement) über das Paket bzr die Versionsverwaltung<br />
Bazaar. Dann laden Sie über den<br />
folgenden Konsolenbefehl die aktuellste Version<br />
von Python-Snippets direkt aus dem Entwicklerzweig<br />
von Launchpad herunter:<br />
$ bzr branch lp:python‐snippets<br />
Acire sucht gewöhnlich in /usr/ share/ pythonsnippets<br />
nach der Bibliothek mit den Codeschnipseln.<br />
Sie wollen jedoch, dass es nun lieber das<br />
Verzeichnis python-snippets durchforstet, das Sie<br />
gerade aus Launchpad gezogen haben. Um das<br />
zu erreichen, ändern Sie die Umgebungsvariable<br />
SNIPPETS_DIR so, dass sie auf den gerade erzeugten<br />
Ordner verweist. Liegt der mit Bazaar geholte<br />
Code also in $HOME/ python-snippets, führen Sie<br />
im Terminal das folgende Kommando aus, um die<br />
Variable SNIPPETS_DIR zu verändern:<br />
$ export SNIPPETS_DIR=$HOME/python‐snippets<br />
Das war es schon – rufen Sie nun Acire auf, lädt es<br />
die Schnipsel aus dem neuen Verzeichnis, in dem<br />
Sie auch eigene Codebeispiele ablegen. Aber Vorsicht:<br />
Schließen Sie das Terminal, löscht das die Variable<br />
SNIPPETS_DIR wieder. Ihre eigenen Beispiele<br />
erstellen Sie nicht in Acire, sondern zum Beispiel in<br />
Gedit. Alternativ legen Sie in Acire ein vorhandenes<br />
Snippet über Speichern unter mit einem neuen<br />
Namen ab und löschen den Inhalt.<br />
Ein Snippet sollte ein bestimmtes Feature in einem<br />
existierenden Modul oder in Python generell<br />
demonstrieren. Es kann etwa zeigen, wie man ein<br />
spezielles Widget aufruft oder wie man eine Funktion<br />
dieses Widgets verwendet.<br />
Die Python-Schnipsel verteilen sich auf Unterverzeichnisse,<br />
welche als Kategorien für die Codebeispiele<br />
dienen. Suchen Sie einen Ordner für Ihren<br />
Schnipsel heraus und platzieren Sie ihn dort. Existiert<br />
kein passendes Verzeichnis, legen Sie eins an<br />
86 UBUNTU<br />
01/2011<br />
www.ubuntu-user.de<br />
user