Начало работы с библиотекой Google Data Python

Джеффри Скаддер, команда API данных Google
август 2007 г.

Введение

Итак, вы решили использовать клиентскую библиотеку Google Data Python для написания приложения с использованием одного из множества сервисов данных Google . Прекрасный выбор! Моя цель в этом кратком руководстве — помочь вам быстро приступить к использованию клиентской библиотеки для разработки вашего приложения.

Возможно, вы захотите сразу же приступить к созданию своего приложения. Однако сначала вам может потребоваться настроить среду разработки и настроить инструменты, необходимые для запуска модулей, включенных в клиентскую библиотеку. Следуйте приведенным ниже инструкциям, и вы быстро запустите код.

Установка Python

Если вы собираетесь разрабатывать с помощью клиентской библиотеки Python, вам потребуется рабочая версия Python 2.2 или выше. Многие операционные системы поставляются с включенной версией Python, поэтому вы можете пропустить шаг установки. Чтобы узнать, какая у вас версия Python, запустите python -V в терминале командной строки. (Примечание: V в верхнем регистре.) Это должно привести к чему-то вроде:

Python 2.4.3

Если вы видите версию 2.2 или выше, то можете приступать к установке зависимостей . В противном случае см. ниже инструкции по установке/обновлению для вашей операционной системы.

Установка Python в Windows

Существует довольно много реализаций Python для Windows, но для целей этого руководства я буду использовать установщик .msi, найденный на python.org .

  1. Начните с загрузки установщика со страницы загрузки Python .
  2. Запустите установщик - вы можете принять все настройки по умолчанию
  3. Чтобы убедиться, что ваша установка работает должным образом, откройте командную строку и запустите python -V .

Установка Python в Mac OS X

В списке загрузок на python.org есть установщики .dmg для пользователей Mac. Вот шаги для установки одного из них:

  1. Перейдите на http://www.python.org/download/mac/
  2. С этой страницы загрузите установщик для соответствующей версии Mac OS X. Примечание. Страница установки Python для Mac OS X 10.3.8 и ниже отличается от более новых версий Mac OS X. Чтобы найти версию OS X, выберите «О программе». Этот Mac из меню Apple в верхнем левом углу экрана.
  3. После завершения загрузки дважды щелкните новый файл образа диска (например, python-2.5-macosx.dmg), чтобы смонтировать его. Если вы используете Safari, это уже сделано за вас.
  4. Откройте смонтированный образ и дважды щелкните пакет установщика внутри.
  5. Следуйте инструкциям по установке и ознакомьтесь с информацией и лицензионными соглашениями по мере их поступления. Опять же, настройки по умолчанию здесь будут работать нормально.
  6. Проверьте установку, открыв Terminal.app (в /Applications/Utilities) и запустив python -V . Должна появиться версия установки.

Установка Python в Linux

Для установки в Linux и других операционных системах в стиле *nix я предпочитаю загружать исходный код и компилировать его. Однако вы можете использовать свой любимый менеджер пакетов для установки Python. (Например, в Ubuntu это может быть так же просто, как запустить sudo apt-get install python в командной строке.) Чтобы установить из исходного кода, выполните следующие действия:

  1. Загрузите архив с исходным кодом со страницы загрузки Python .
  2. После загрузки пакета распакуйте его с помощью командной строки. Вы можете использовать следующий
    tar zxvf Python-2.<Your version>.tgz
  3. Далее вам нужно скомпилировать и установить исходный код интерпретатора Python. В распакованном каталоге запустите ./configure , чтобы сгенерировать make-файл.
  4. Затем запустите make . Это создаст рабочий исполняемый файл Python в локальном каталоге. Если у вас нет прав root или вы просто хотите использовать Python из своего домашнего каталога, вы можете остановиться здесь. Вы сможете запускать Python из этого каталога, поэтому вы можете добавить его в переменную среды PATH.
  5. Я предпочитаю, чтобы Python был установлен в /usr/bin/ , где большинство скриптов Python ищут интерпретатор. Если у вас есть root-доступ, запустите make install от имени root. Это установит Python в папку по умолчанию, и его смогут использовать все на вашем компьютере.
  6. Проверьте, работает ли ваша установка должным образом, открыв терминал и запустив python -V .

Установка зависимостей

В настоящее время единственной внешней зависимостью является XML-библиотека с именем ElementTree . Если вы используете Python версии 2.5 или выше, вам не нужно устанавливать ElementTree, так как он поставляется с пакетом Python.

Чтобы узнать, присутствует ли ElementTree в вашей системе, сделайте следующее:

  1. Запустите интерпретатор Python. Обычно я делаю это, запуская python в командной строке.
  2. Попробуйте импортировать модуль ElementTree. Если вы используете Python 2.5 или выше, введите в интерпретаторе следующее:
    from xml.etree import ElementTree
    Для более старых версий введите:
    from elementtree import ElementTree
  3. Если импорт не удался, вам нужно будет продолжить чтение этого раздела. Если это работает, вы можете перейти к разделу «Установка библиотеки данных Google» .
  4. Загрузите версию, подходящую для вашей операционной системы. Например, если вы используете Windows, загрузите elementtree-1.2.6-20050316.win32.exe . Для других операционных систем я рекомендую скачать сжатую версию.
  5. Если вы используете версию библиотеки .tar.gz или .zip , сначала распакуйте, а затем установите ее, запустив ./setup.py install .

Запуск ./setup.py install пытается скомпилировать библиотеку и поместить ее в системный каталог для ваших модулей Python. Если у вас нет root-доступа, вы можете установить модули в свой домашний каталог или другое место, запустив ./setup.py install --home=~ . Это поместит код в ваш домашний каталог.

Есть еще один вариант, который вообще не требует установки. После того, как вы распакуете загрузку, вы найдете каталог с именем elementtree . Этот каталог содержит модули, которые вам нужно будет импортировать. Когда вы вызываете импорт из Python, он ищет модуль с нужным именем в нескольких местах. В первую очередь он выглядит в текущем каталоге, поэтому, если вы всегда запускаете свой код из одного каталога, вы можете просто поместить туда каталог elementtree . Python также просматривает каталоги, перечисленные в вашей переменной окружения PYTHONPATH . Инструкции по редактированию PYTHONPATH см. в Приложении в конце этой статьи. Я рекомендую использовать ./setup.py install для elementtree .

Установка библиотеки данных Google

Загрузите библиотеку Google Data Python, если вы этого еще не сделали. Ищите последнюю версию на странице загрузок проекта Python.

После загрузки библиотеки распакуйте ее с помощью unzip или tar zxvf в зависимости от выбранного вами типа загрузки.

Теперь вы готовы установить модули библиотеки, чтобы их можно было импортировать в Python. Есть несколько способов сделать это:

  • Если у вас есть возможность устанавливать пакеты для доступа всех пользователей, вы можете запустить ./setup.py install из основного каталога распакованного архива.
  • Если вы хотите установить эти модули для использования в своем домашнем каталоге, вы можете запустить ./setup.py install --home= <ваш домашний каталог> .
  • В некоторых случаях вы хотите вообще избежать установки модулей. Для этого измените переменную среды PYTHONPATH , включив в нее каталог, содержащий каталоги gdata и atom для клиентской библиотеки Google Data Python. Инструкции по изменению PYTHONPATH см. в Приложении в конце этой статьи.

  • Последний вариант, который я упомяну, — это копирование каталогов gdata и atom из каталога src в любой каталог, в котором вы находитесь, когда запускаете python . Python будет искать в текущем каталоге, когда вы выполняете импорт, но я не рекомендую этот метод, если вы не создаете что-то быстрое и простое.

После того как вы установили библиотеку данных Google, вы готовы протестировать библиотеку.

Запуск тестов и образцов

В дистрибутивы клиентской библиотеки Google Data Python входят несколько тестовых примеров, которые используются при разработке библиотеки. Они также могут служить быстрой проверкой, чтобы убедиться, что ваши зависимости и установка библиотеки работают. Из каталога верхнего уровня, в который вы распаковали свою копию библиотеки, попробуйте запустить:

./tests/run_data_tests.py

Если этот сценарий работает правильно, вы должны увидеть вывод в командной строке, подобный этому:

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

...

Если вы не увидели никаких ошибок при выполнении тестов, возможно, вы правильно настроили свою среду. Поздравляем!

Теперь вы можете начать запускать что-то более интересное. Дистрибутив содержит каталог samples , который содержит код, который может стать отправной точкой для написания вашего приложения. Если вы хотите попробовать простой интерактивный образец, попробуйте запустить ./samples/docs/docs_example.py . Образец API списка документов Google предложит вам ввести адрес электронной почты и пароль для вашей учетной записи Google. Если у вас есть какие-либо документы или электронные таблицы в Документах Google , вы можете перечислить их, введя 1 для выбранной операции. (Если у вас нет документов или электронных таблиц, вы получите ошибку 404.)

Если вас интересует конкретная служба данных Google, взгляните на ее образец, чтобы получить общее представление о том, как вы можете использовать библиотеку. Большинство, но не все, функции демонстрируются в примере кода, поэтому вы можете просмотреть документацию по службе, с которой вы планируете работать, чтобы получить четкое представление о том, что вы можете делать с помощью API.

Написание примера «Hello World»

Начнем с простого примера. Вот короткая программа для печати списка всех документов в вашей учетной записи Google Documents :

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

Либо сохраните приведенный выше фрагмент кода в виде файла и запустите его, либо вставьте код в интерпретатор Python, чтобы увидеть, как работает клиентская библиотека Google Data Python.

Заключение

Теперь, когда вы установили и протестировали клиентскую библиотеку Google Data Python, вы готовы приступить к написанию следующего отличного приложения, используя:

Продолжая разработку приложения, вы можете столкнуться с проблемой. Если это так, пожалуйста, ознакомьтесь со списком ресурсов ниже:

Если вам вдруг пришла в голову отличная новая функция для библиотеки (или случайно вы нашли ошибку), пожалуйста, напишите об этом в группе обсуждения . Нам всегда интересно ваше мнение!

Удачного кодирования :-)

Приложение: Изменение PYTHONPATH

Когда вы импортируете пакет или модуль в Python, интерпретатор ищет файл в нескольких местах, включая все каталоги, перечисленные в переменной среды PYTHONPATH . Я часто изменяю свой PYTHONPATH , чтобы указать на модули, в которые я скопировал исходный код библиотеки, которую использую. Это избавляет от необходимости устанавливать модуль каждый раз при его изменении, поскольку Python загружает модуль непосредственно из каталога, содержащего измененный исходный код.

Я рекомендую подход PYTHONPATH , если вы вносите изменения в код клиентской библиотеки или если у вас нет прав администратора в вашей системе. Отредактировав PYTHONPATH , вы можете поместить необходимые модули куда угодно.

Я изменил свой PYTHONPATH в системе *nix и Mac OS X, установив его в моем файле конфигурации оболочки .bashrc . Если вы используете оболочку bash, вы можете установить переменную, добавив следующую строку в файл ~/.bashrc .

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

Затем вы можете применить эти изменения к текущему сеансу оболочки, выполнив команду source ~/.bashrc .

Для Windows XP откройте «Переменные среды» для своего профиля: «Панель управления » > «Свойства системы» > «Дополнительно» > «Переменные среды ». Оттуда вы можете создать или отредактировать переменную PYTHONPATH и добавить расположение вашей локальной копии библиотеки.