Google Data Python Library का इस्तेमाल शुरू करना

Jeffrey Scudder, Google Data APIs Team
अगस्त 2007

परिचय

आपने Google डेटा सेवाओं में से किसी एक का इस्तेमाल करके ऐप्लिकेशन लिखने के लिए, Google डेटा Python क्लाइंट लाइब्रेरी का इस्तेमाल करने का फ़ैसला किया है. बहुत बढ़िया! इस छोटे से ट्यूटोरियल का मकसद, आपको क्लाइंट लाइब्रेरी का इस्तेमाल करके ऐप्लिकेशन डेवलप करने के बारे में तुरंत जानकारी देना है.

ऐसा हो सकता है कि आपको तुरंत अपना ऐप्लिकेशन बनाना शुरू करना हो. हालांकि, इससे पहले आपको अपने डेवलपमेंट एनवायरमेंट को कॉन्फ़िगर करना होगा. साथ ही, क्लाइंट लाइब्रेरी में शामिल मॉड्यूल चलाने के लिए ज़रूरी टूल सेट अप करने होंगे. यहां दिया गया तरीका अपनाएं और कुछ ही समय में कोड चलाएं.

Python इंस्टॉल करना

अगर आपको Python क्लाइंट लाइब्रेरी का इस्तेमाल करके डेवलपमेंट करना है, तो आपके पास Python 2.2 या इसके बाद का वर्शन होना चाहिए. कई ऑपरेटिंग सिस्टम में Python का कोई वर्शन पहले से मौजूद होता है. इसलिए, हो सकता है कि आपको इसे इंस्टॉल न करना पड़े. आपके पास Python का कौनसा वर्शन है, यह देखने के लिए कमांड लाइन टर्मिनल में python -V चलाएं. (ध्यान दें: V कैपिटल लेटर में है.) इससे कुछ इस तरह का नतीजा मिलना चाहिए:

Python 2.4.3

अगर आपको 2.2 या इसके बाद का वर्शन दिखता है, तो डिपेंडेंसी इंस्टॉल करना शुरू किया जा सकता है. अगर ऐसा नहीं है, तो अपने ऑपरेटिंग सिस्टम के लिए, इंस्टॉल/अपग्रेड करने के निर्देश यहां देखें.

Windows पर Python इंस्टॉल करना

Windows में Python के कई वर्शन उपलब्ध हैं. हालांकि, इस गाइड के लिए, मैं python.org पर मौजूद .msi इंस्टॉलर का इस्तेमाल करूंगा.

  1. सबसे पहले, Python के डाउनलोड पेज से इंस्टॉलर डाउनलोड करें.
  2. इंस्टॉलर चलाएं - आपके पास सभी डिफ़ॉल्ट सेटिंग स्वीकार करने का विकल्प होता है
  3. यह देखने के लिए कि आपका इंस्टॉलेशन उम्मीद के मुताबिक काम कर रहा है या नहीं, कमांड प्रॉम्प्ट खोलें और python -V चलाएं.

Mac OS X पर Python इंस्टॉल करना

python.org पर डाउनलोड की सूची में, Mac का इस्तेमाल करने वाले लोगों के लिए .dmg इंस्टॉलर मौजूद हैं. इनमें से किसी एक को इंस्टॉल करने का तरीका यहां दिया गया है:

  1. http://www.python.org/download/mac/ पर जाएं
  2. इस पेज से, Mac OS X के सही वर्शन के लिए इंस्टॉलर डाउनलोड करें. ध्यान दें: Mac OS X 10.3.8 और इससे पहले के वर्शन के लिए Python का इंस्टॉलेशन पेज, Mac OS X के नए वर्शन से अलग होता है. OS X का वर्शन जानने के लिए, अपनी स्क्रीन के सबसे ऊपर बाएं कोने में मौजूद Apple मेन्यू में जाकर, About This Mac चुनें.
  3. डाउनलोड पूरा होने के बाद, नई डिस्क इमेज फ़ाइल (जैसे, python-2.5-macosx.dmg) पर दो बार क्लिक करके उसे माउंट करें. अगर Safari का इस्तेमाल किया जा रहा है, तो यह काम पहले ही हो चुका है.
  4. माउंट की गई इमेज खोलें और उसके अंदर मौजूद इंस्टॉलर पैकेज पर दो बार क्लिक करें.
  5. इंस्टॉल करने के निर्देशों का पालन करें. साथ ही, आपको दिखाई गई जानकारी और लाइसेंस समझौते पढ़ें. यहां भी डिफ़ॉल्ट सेटिंग ठीक से काम करेंगी.
  6. इंस्टॉल किए गए वर्शन की पुष्टि करने के लिए, Terminal.app (/Applications/Utilities में) खोलें और python -V चलाएं. आपको इंस्टॉल किए गए वर्शन की जानकारी दिखेगी.

Linux पर Python इंस्टॉल करना

Linux और *nix स्टाइल वाले अन्य ऑपरेटिंग सिस्टम पर इंस्टॉल करने के लिए, मैं सोर्स कोड डाउनलोड करके उसे कंपाइल करना पसंद करता/करती हूं. हालांकि, Python को इंस्टॉल करने के लिए, अपने पसंदीदा पैकेज मैनेजर का इस्तेमाल किया जा सकता है. (उदाहरण के लिए, Ubuntu पर, कमांड लाइन पर sudo apt-get install python चलाकर इसे आसानी से किया जा सकता है.) सोर्स से इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. Python के डाउनलोड पेज से, सोर्स टारबॉल डाउनलोड करें.
  2. पैकेज डाउनलोड करने के बाद, कमांड लाइन का इस्तेमाल करके उसे अनपैक करें. इनका इस्तेमाल किया जा सकता है
    tar zxvf Python-2.<Your version>.tgz
  3. इसके बाद, आपको Python इंटरप्रेटर के लिए सोर्स कोड को कंपाइल और इंस्टॉल करना होगा. डिकंप्रेस की गई डायरेक्ट्री में, makefile जनरेट करने के लिए ./configure चलाएं.
  4. इसके बाद, make चलाएं. इससे लोकल डायरेक्ट्री में, Python की एक वर्किंग एक्ज़ीक्यूटेबल फ़ाइल बन जाएगी. अगर आपके पास रूट ऐक्सेस नहीं है या आपको सिर्फ़ अपनी होम डायरेक्ट्री से Python का इस्तेमाल करना है, तो यहां रुकें. इस डायरेक्ट्री से Python को चलाया जा सकेगा. इसलिए, हो सकता है कि आपको इसे अपने PATH एनवायरमेंट वैरिएबल में जोड़ना पड़े.
  5. मुझे Python को /usr/bin/ में इंस्टॉल करना है. ज़्यादातर Python स्क्रिप्ट, इंटरप्रेटर को यहीं ढूंढती हैं. अगर आपके पास रूट ऐक्सेस है, तो make install को रूट के तौर पर चलाएं. इससे Python डिफ़ॉल्ट जगह पर इंस्टॉल हो जाएगा. साथ ही, इसे आपके कंप्यूटर पर मौजूद सभी लोग इस्तेमाल कर पाएंगे.
  6. यह देखने के लिए कि आपका इंस्टॉलेशन सही तरीके से काम कर रहा है या नहीं, टर्मिनल खोलें और python -V चलाएं.

डिपेंडेंसी इंस्टॉल करना

फ़िलहाल, सिर्फ़ एक बाहरी डिपेंडेंसी है. यह 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 Data लाइब्रेरी इंस्टॉल करना पर जाएं.
  4. अपने ऑपरेटिंग सिस्टम के हिसाब से सही वर्शन डाउनलोड करें. उदाहरण के लिए, अगर Windows का इस्तेमाल किया जा रहा है, तो elementtree-1.2.6-20050316.win32.exe डाउनलोड करें. अन्य ऑपरेटिंग सिस्टम के लिए, हमारा सुझाव है कि आप कंप्रेस किया गया वर्शन डाउनलोड करें.
  5. अगर लाइब्रेरी के .tar.gz या .zip वर्शन का इस्तेमाल किया जा रहा है, तो पहले इसे अनपैक करें. इसके बाद, ./setup.py install चलाकर इसे इंस्टॉल करें.

./setup.py install को चलाने पर, लाइब्रेरी को कंपाइल करने की कोशिश की जाती है. साथ ही, इसे आपके Python मॉड्यूल के लिए सिस्टम डायरेक्ट्री में रखा जाता है. अगर आपके पास रूट ऐक्सेस नहीं है, तो ./setup.py install --home=~ चलाकर, मॉड्यूल को अपनी होम डायरेक्ट्री या किसी दूसरी जगह पर इंस्टॉल किया जा सकता है. इससे कोड आपकी होम डायरेक्ट्री में सेव हो जाएगा.

एक और विकल्प है, जिसमें आपको ऐप्लिकेशन इंस्टॉल करने की ज़रूरत नहीं पड़ती. डाउनलोड किए गए डेटा को अनज़िप करने के बाद, आपको elementtree नाम की एक डायरेक्ट्री दिखेगी. इस डायरेक्ट्री में वे मॉड्यूल होते हैं जिन्हें आपको इंपोर्ट करना होगा. Python में इंपोर्ट करने के लिए कॉल करने पर, यह कई जगहों पर उस मॉड्यूल को खोजता है जिसका नाम आपने डाला है. सबसे पहले, यह फ़ाइल मौजूदा डायरेक्ट्री में खोजता है. इसलिए, अगर आपको हमेशा एक ही डायरेक्ट्री से कोड चलाना है, तो वहां elementtree डायरेक्ट्री को रखा जा सकता है. Python, आपके PYTHONPATH एनवायरमेंट वैरिएबल में दी गई डायरेक्ट्री भी देखेगा. अपने PYTHONPATH में बदलाव करने के निर्देशों के लिए, इस लेख के आखिर में दिया गया अपेंडिक्स देखें. मेरा सुझाव है कि elementtree के लिए ./setup.py install का इस्तेमाल करें.

Google Data Library इंस्टॉल करना

अगर आपने Google Data Python लाइब्रेरी डाउनलोड नहीं की है, तो इसे डाउनलोड करें. Python प्रोजेक्ट के डाउनलोड पेज पर जाकर, नया वर्शन देखें.

लाइब्रेरी डाउनलोड करने के बाद, उसे अनपैक करें. इसके लिए, unzip या tar zxvf का इस्तेमाल करें. यह इस बात पर निर्भर करता है कि आपने किस तरह का डाउनलोड चुना है.

अब लाइब्रेरी मॉड्यूल इंस्टॉल किए जा सकते हैं, ताकि उन्हें Python में इंपोर्ट किया जा सके. इसके लिए कई तरीके अपनाए जा सकते हैं:

  • अगर आपके पास सभी उपयोगकर्ताओं के लिए पैकेज इंस्टॉल करने का विकल्प है, तो अनपैक किए गए संग्रह की मुख्य डायरेक्ट्री से ./setup.py install चलाया जा सकता है.
  • अगर आपको इन मॉड्यूल को अपनी होम डायरेक्ट्री में इस्तेमाल करने के लिए इंस्टॉल करना है, तो ./setup.py install --home=<your home directory> चलाएं.
  • कुछ मामलों में, आपको मॉड्यूल इंस्टॉल करने से बचना होता है. इसके लिए, अपने PYTHONPATH एनवायरमेंट वैरिएबल में बदलाव करें, ताकि उसमें ऐसी डायरेक्ट्री शामिल हो जिसमें Google Data Python क्लाइंट लाइब्रेरी के लिए gdata और atom डायरेक्ट्री शामिल हों. PYTHONPATH में बदलाव करने के निर्देशों के लिए, इस लेख के आखिर में दिया गया अपेंडिक्स देखें.

  • आखिरी विकल्प यह है कि src डायरेक्ट्री से gdata और atom डायरेक्ट्री को उस डायरेक्ट्री में कॉपी करें जिसमें python को लागू किया जा रहा है. इंपोर्ट करने पर, Python मौजूदा डायरेक्ट्री में देखेगा. हालांकि, अगर आपको कोई आसान और जल्दी बनने वाला प्रोग्राम बनाना है, तो ही इस तरीके का इस्तेमाल करें.

Google Data लाइब्रेरी इंस्टॉल करने के बाद, इसका इस्तेमाल किया जा सकता है.

टेस्ट और सैंपल चलाना

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 चलाकर देखें. Google Documents List API का सैंपल, आपसे आपके Google खाते का ईमेल पता और पासवर्ड मांगेगा. अगर आपके पास Google Documents में कोई दस्तावेज़ या स्प्रेडशीट है, तो उन्हें सूची में शामिल किया जा सकता है. इसके लिए, आपको चुने गए ऑपरेशन के लिए 1 डालना होगा. (अगर आपके पास कोई दस्तावेज़ या स्प्रेडशीट नहीं है, तो आपको 404 गड़बड़ी का मैसेज मिलेगा.)

अगर आपको Google की किसी डेटा सेवा में दिलचस्पी है, तो उसके सैंपल पर एक नज़र डालें. इससे आपको यह समझने में मदद मिलेगी कि लाइब्रेरी का इस्तेमाल कैसे किया जा सकता है. ज़्यादातर, लेकिन सभी नहीं, सुविधाओं को सैंपल कोड में दिखाया गया है. इसलिए, हो सकता है कि आपको उस सेवा के दस्तावेज़ को देखना पड़े जिसके साथ आपको काम करना है. इससे आपको यह समझने में मदद मिलेगी कि एपीआई का इस्तेमाल करके क्या-क्या किया जा सकता है.

"नमस्ते, दुनिया के लोगों!" का उदाहरण लिखना

आइए, एक आसान उदाहरण से शुरू करते हैं. यहां एक छोटा प्रोग्राम दिया गया है. इससे आपके 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 में बदलाव करके, ज़रूरी मॉड्यूल को अपनी पसंद के मुताबिक किसी भी जगह पर रखा जा सकता है.

मैंने *nix और Mac OS X सिस्टम पर, PYTHONPATH को अपनी .bashrc शेल कॉन्फ़िगरेशन फ़ाइल में सेट करके बदल दिया है. अगर बैश शेल का इस्तेमाल किया जा रहा है, तो ~/.bashrc फ़ाइल में यह लाइन जोड़कर वैरिएबल सेट किया जा सकता है.

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

इसके बाद, source ~/.bashrc को लागू करके, इन बदलावों को अपने मौजूदा शेल सेशन पर लागू किया जा सकता है.

Windows XP के लिए, अपनी प्रोफ़ाइल के लिए एनवायरमेंट वैरिएबल खोलें: Control Panel > System Properties > Advanced > Environment Variables. इसके बाद, PYTHONPATH वैरिएबल बनाया या उसमें बदलाव किया जा सकता है. साथ ही, अपनी लोकल लाइब्रेरी की कॉपी की जगह की जानकारी जोड़ी जा सकती है.