Erste Schritte mit der Google Data Python-Bibliothek

Jeffrey Scudder, Google Data APIs-Team
August 2007

Einführung

Deshalb haben Sie sich dafür entschieden, eine Google Data Python-Clientbibliothek zu verwenden, um eine Anwendung mit einem der vielen Google Data-Dienste zu schreiben. Hervorragende Wahl! Mit dieser kurzen Anleitung möchten wir Ihnen den Einstieg in die Nutzung der Clientbibliothek zum Entwickeln Ihrer Anwendung erleichtern.

Vielleicht möchten Sie gleich loslegen und Ihre Anwendung sofort erstellen. Möglicherweise müssen Sie jedoch zuerst Ihre Entwicklungsumgebung konfigurieren und die Tools einrichten, die Sie zum Ausführen der in der Clientbibliothek enthaltenen Module benötigen. Folgen Sie der Anleitung unten, um den Code in kürzester Zeit auszuführen.

Python installieren

Wenn Sie mit der Python-Clientbibliothek entwickeln möchten, benötigen Sie eine funktionierende Version von Python 2.2 oder höher. Bei vielen Betriebssystemen ist eine Version von Python enthalten, sodass Sie den Installationsschritt möglicherweise überspringen können. Führen Sie python -V in einem Befehlszeilenterminal aus, um die Version von Python zu sehen. Hinweis: V wird großgeschrieben. Dies sollte in etwa so aussehen:

Python 2.4.3

Wenn Version 2.2 oder höher angezeigt wird, können Sie mit dem Installieren von Abhängigkeiten beginnen. Andernfalls finden Sie im Folgenden eine Installationsanleitung für Ihr Betriebssystem.

Python unter Windows installieren

In Windows stehen einige Implementierungen von Python zur Auswahl .In diesem Leitfaden verwende ich jedoch das MSI-Installationsprogramm auf python.org.

  1. Laden Sie das Installationsprogramm zuerst von der Downloadseite für Python herunter.
  2. Führen Sie das Installationsprogramm aus. Sie können alle Standardeinstellungen übernehmen.
  3. Öffnen Sie eine Eingabeaufforderung und führen Sie python -V aus, um zu prüfen, ob die Installation wie erwartet funktioniert.

Python unter Mac OS X installieren

In der Liste der Downloads auf python.org finden Sie DMG-Installationsprogramme für Mac-Nutzer. So installieren Sie eine davon:

  1. Rufen Sie http://www.python.org/download/mac/ auf.
  2. Laden Sie auf dieser Seite das Installationsprogramm für die entsprechende Version von Mac OS X herunter. Hinweis: Die Python-Installationsseite für Mac OS X 10.3.8 und niedriger unterscheidet sich von neueren Versionen von Mac OS X. Die Betriebssystemversion findest du im Apple-Menü oben links auf dem Bildschirm Über diesen Mac.
  3. Doppelklicken Sie nach Abschluss des Downloads auf die neue Laufwerk-Image-Datei (z. B. python-2.5-macosx.dmg), um sie bereitzustellen. Wenn du Safari verwendest, wurde dies bereits für dich erledigt.
  4. Öffnen Sie das bereitgestellte Image und doppelklicken Sie auf das Installationspaket darin.
  5. Folgen Sie der Installationsanleitung und lesen Sie die Informationen und Lizenzvereinbarungen, wie sie Ihnen angezeigt werden. Auch hier funktionieren die Standardeinstellungen wie gewohnt.
  6. Öffnen Sie Terminal.app unter /Programme/Dienstprogramme und führen Sie python -V aus, um die Installation zu prüfen. Die Version der Installation sollte angezeigt werden.

Python unter Linux installieren

Für die Installation unter Linux und anderen Betriebssystemen im *Nix-Stil lade ich den Quellcode lieber herunter und kompiliere ihn. Sie können jedoch Python mit Ihrem bevorzugten Paketmanager installieren. Bei Ubuntu kann dies zum Beispiel so einfach sein wie das Ausführen von sudo apt-get install python über die Befehlszeile. So installieren Sie sie aus der Quelle:

  1. Laden Sie das Quell-Tarball von der Python-Downloadseite herunter.
  2. Nachdem Sie das Paket heruntergeladen haben, entpacken Sie es über die Befehlszeile. Sie können die folgende
    tar zxvf Python-2.<Your version>.tgz
    verwenden
  3. Als Nächstes müssen Sie den Quellcode für den Python-Interpreter kompilieren und installieren. Führen Sie im dekomprimierten Verzeichnis ./configure aus, um ein Makefile zu generieren.
  4. Führen Sie dann make aus. Dadurch wird eine ausführbare ausführbare Python-Datei im lokalen Verzeichnis erstellt. Wenn Sie keine Root-Berechtigung haben oder nur Python aus Ihrem Basisverzeichnis verwenden möchten, können Sie den Vorgang hier beenden. Sie können Python aus diesem Verzeichnis ausführen. Daher sollten Sie es der PATH-Umgebungsvariable hinzufügen.
  5. Ich möchte Python in /usr/bin/ installieren, wo die meisten Python-Skripts nach dem Interpreter suchen. Wenn Sie Root-Zugriff haben, führen Sie make install als Root aus. Dadurch wird Python am Standardspeicherort installiert und kann von jedem Nutzer auf Ihrem Computer verwendet werden.
  6. Prüfen Sie, ob Ihre Installation wie erwartet funktioniert. Öffnen Sie dazu ein Terminal und führen Sie python -V aus.

Abhängigkeiten installieren

Derzeit ist die einzige externe Abhängigkeit eine XML-Bibliothek mit dem Namen ElementTree. Wenn Sie Python Version 2.5 oder höher verwenden, müssen Sie ElementTree nicht installieren, da es im Lieferumfang von Python enthalten ist.

So prüfen Sie, ob ElementTree bereits in Ihrem System vorhanden ist:

  1. Führen Sie den Python-Interpreter aus. Dazu führe ich normalerweise python in der Befehlszeile aus.
  2. Versuchen Sie, das ElementTree-Modul zu importieren. Wenn Sie Python 2.5 oder höher verwenden, geben Sie im Interpreter Folgendes ein:
    from xml.etree import ElementTree
    Geben Sie für ältere Versionen Folgendes ein:
    from elementtree import ElementTree
  3. Wenn der Import fehlschlägt, müssen Sie diesen Abschnitt weiterlesen. Wenn dies funktioniert, können Sie mit dem Abschnitt Google-Datenbibliothek installieren fortfahren.
  4. Laden Sie eine Version herunter, die für Ihr Betriebssystem geeignet ist. Wenn Sie beispielsweise Windows verwenden, laden Sie elementtree-1.2.6-20050316.win32.exe herunter. Für andere Betriebssysteme empfehlen wir, eine komprimierte Version herunterzuladen.
  5. Wenn Sie eine .tar.gz- oder .zip-Version der Bibliothek verwenden, entpacken Sie sie zuerst und installieren Sie sie dann mit ./setup.py install.

Wenn Sie ./setup.py install ausführen, wird versucht, die Bibliothek zu kompilieren und im Systemverzeichnis Ihrer Python-Module zu platzieren. Wenn Sie keinen Root-Zugriff haben, können Sie die Module in Ihrem Basisverzeichnis oder an einem anderen Speicherort mit ./setup.py install --home=~ ausführen. Dadurch wird der Code in Ihrem Basisverzeichnis abgelegt.

Es gibt eine weitere Option, die die Installation ganz verhindert. Nachdem Sie den Download dekomprimiert haben, wird das Verzeichnis elementtree angezeigt. Dieses Verzeichnis enthält die Module, die Sie importieren müssen. Wenn Sie den Import aus Python aufrufen, wird an mehreren Stellen nach einem Modul mit dem gewünschten Namen gesucht. Es wird zuerst im aktuellen Verzeichnis angezeigt. Wenn Sie den Code beispielsweise immer aus einem Verzeichnis ausführen, können Sie dort einfach das Verzeichnis elementtree ablegen. Python prüft auch die Verzeichnisse, die in der Umgebungsvariablen PYTHONPATH aufgeführt sind. Eine Anleitung zum Bearbeiten von PYTHONPATH finden Sie im Anhang am Ende dieses Artikels. Ich empfehle ./setup.py install für elementtree.

Google-Datenbibliothek installieren

Laden Sie die Google Data-Python-Bibliothek herunter, falls Sie dies noch nicht getan haben. Suchen Sie auf der Downloadseite des Python-Projekts nach der neuesten Version.

Nachdem Sie die Bibliothek heruntergeladen haben, entpacken Sie sie je nach ausgewähltem Downloadtyp mit unzip oder tar zxvf.

Jetzt können Sie die Bibliotheksmodule installieren, damit sie in Python importiert werden können. Hierfür gibt es mehrere Möglichkeiten:

  • Wenn Sie die Möglichkeit haben, Pakete für alle Nutzer zu installieren, können Sie ./setup.py install im Hauptverzeichnis des entpackten Archivs ausführen.
  • Wenn Sie diese Module zur Verwendung in Ihrem Basisverzeichnis installieren möchten, können Sie ./setup.py install --home=<Ihr Basisverzeichnis> ausführen.
  • In einigen Fällen sollten Sie die Module nicht installieren. Ändern Sie dazu die Umgebungsvariable PYTHONPATH so, dass sie ein Verzeichnis enthält, das die Verzeichnisse gdata und atom für die Google Data-Clientbibliothek für Python enthält. Eine Anleitung zum Ändern von PYTHONPATH finden Sie im Anhang am Ende dieses Artikels.

  • Eine letzte Option, die ich erwähnen möchte, ist das Kopieren der Verzeichnisse gdata und atom aus dem Verzeichnis src in das Verzeichnis, in dem Sie sich beim Ausführen von python befinden. Python sucht im aktuellen Verzeichnis nach einem Import, aber ich empfehle diese Methode nur, wenn Sie schnell und einfach etwas erstellen.

Nachdem Sie die Google Data-Bibliothek installiert haben, können Sie die Bibliothek testen.

Tests und Beispiele ausführen

Die Distributionen der Google Data Python-Clientbibliothek enthalten einige Testfälle, die bei der Entwicklung der Bibliothek verwendet werden. Sie können auch als schnelle Prüfung verwendet werden, um die ordnungsgemäße Funktion Ihrer Abhängigkeiten und der Bibliotheksinstallation zu prüfen. Führen Sie im Verzeichnis der obersten Ebene, in dem Sie Ihre Kopie der Bibliothek entpackt haben, Folgendes aus:

./tests/run_data_tests.py

Wenn dieses Skript korrekt ausgeführt wird, sollten Sie in der Befehlszeile eine Ausgabe wie diese sehen:

Running all tests in module gdata_test
.......
----------------------------------------------------------------------
Ran 7 tests in 0.025s

OK

Running all tests in module atom_test
..........................................
----------------------------------------------------------------------
Ran 42 tests in 0.016s

OK

...

Wenn bei der Ausführung der Tests keine Fehler aufgetreten sind, haben Sie Ihre Umgebung wahrscheinlich korrekt eingerichtet. Glückwunsch!

Jetzt kannst du etwas Interessanteres erstellen. Die Distribution enthält ein samples-Verzeichnis, das Code enthält, der einen Ausgangspunkt zum Schreiben Ihrer Anwendung bietet. Wenn Sie ein einfaches interaktives Beispiel ausprobieren möchten, führen Sie ./samples/docs/docs_example.py aus. Im Beispiel der Google Documents List API werden Sie aufgefordert, die E-Mail-Adresse und das Passwort für Ihr Google-Konto einzugeben. Wenn Sie Dokumente oder Tabellen in Google Docs haben, können Sie diese auflisten, indem Sie für den ausgewählten Vorgang 1 eingeben. Wenn Sie keine Dokumente oder Tabellen haben, wird ein 404-Fehler angezeigt.

Wenn Sie einen bestimmten Google Data-Dienst interessieren, sehen Sie sich das Beispiel an, um eine grundlegende Vorstellung davon zu erhalten, wie Sie die Bibliothek verwenden können. Die meisten, jedoch nicht alle Funktionen sind im Beispielcode enthalten. Sehen Sie sich daher die Dokumentation des Dienstes an, mit dem Sie arbeiten möchten, um sich ein genaues Bild davon zu machen, was Sie mit der API tun können.

Beispiel: „Hello World“ schreiben

Beginnen wir mit einem einfachen Beispiel. Hier ist ein kurzes Programm zum Drucken einer Liste aller Dokumente in deinem Google Docs-Konto:

import gdata.docs.service

# Create a client class which will make HTTP requests with Google Docs server.
client = gdata.docs.service.DocsService()
# Authenticate using your Google Docs email address and password.
client.ClientLogin('jo@gmail.com', 'password')

# Query the server for an Atom feed containing a list of your documents.
documents_feed = client.GetDocumentListFeed()
# Loop through the feed and extract each document entry.
for document_entry in documents_feed.entry:
  # Display the title of the document on the command line.
  print document_entry.title.text

Speichern Sie entweder das obige Code-Snippet als Datei und führen Sie es aus oder fügen Sie den Code in den Python-Interpreter ein, um die Python-Clientbibliothek von Google Data in Aktion zu sehen.

Fazit

Nachdem Sie die Google Data-Python-Clientbibliothek installiert und getestet haben, können Sie mit dem Schreiben der nächsten tollen Anwendung beginnen:

Wenn Sie Ihre Anwendung weiterentwickeln, kann dies zu Problemen führen. Falls ja, sehen Sie sich bitte die folgende Liste an:

Wenn Ihnen eine tolle neue Funktion für die Bibliothek gefällt oder Sie einen Fehler finden, geben Sie diese in die Diskussionsgruppe ein. Wir freuen uns immer über Feedback.

Viel Spaß beim Programmieren :-)

Anhang: PYTHONPATH ändern

Wenn Sie ein Paket oder Modul in Python importieren, sucht der Interpreter die Datei an einer Reihe von Speicherorten, einschließlich aller in der Umgebungsvariable PYTHONPATH aufgeführten Verzeichnisse. Ich ändere meinen PYTHONPATH oft so, dass er auf Module verweist, in die ich den Quellcode einer von mir verwendeten Bibliothek kopiert habe. Dadurch muss nicht bei jeder Änderung ein Modul installiert werden, da Python das Modul direkt aus dem Verzeichnis lädt, das den geänderten Quellcode enthält.

Ich empfehle den Ansatz PYTHONPATH, wenn du Änderungen am Clientbibliothekscode vornimmst oder keine Administratorrechte für dein System hast. Wenn Sie PYTHONPATH bearbeiten, können Sie die erforderlichen Module an einem beliebigen Ort platzieren.

Ich habe PYTHONPATH auf einem *Nix- und Mac OS X-System geändert, indem ich es in meiner .bashrc-Shell-Konfigurationsdatei festgelegt habe. Wenn Sie die Bash-Shell verwenden, können Sie die Variable festlegen, indem Sie der Datei ~/.bashrc die folgende Zeile hinzufügen.

export PYTHONPATH=$PYTHONPATH:/home/<my_username>/svn/gdata-python-client/src

Anschließend können Sie diese Änderungen auf die aktuelle Shell-Sitzung anwenden. Führen Sie dazu source ~/.bashrc aus.

Rufen Sie unter Windows XP die Umgebungsvariablen für Ihr Profil auf: Systemsteuerung > Systemeigenschaften > Erweitert > Umgebungsvariablen. Dort können Sie entweder die Variable PYTHONPATH erstellen oder bearbeiten und den Speicherort Ihrer lokalen Bibliothekskopie hinzufügen.