การเริ่มต้นใช้งานไลบรารี Google Python

Jeffrey Scudder ทีม Google Data API
สิงหาคม 2007

บทนำ

คุณได้ตัดสินใจที่จะใช้ไลบรารีของไคลเอ็นต์ Google Data Python เพื่อเขียนแอปพลิเคชันโดยใช้บริการข้อมูลของ Google ตัวใดตัวหนึ่ง ตัวเลือกยอดเยี่ยม เป้าหมายของฉันสําหรับบทแนะนําสั้นๆ นี้คือช่วยให้คุณเริ่มใช้ไลบรารีของไคลเอ็นต์เพื่อพัฒนาแอปพลิเคชันได้อย่างรวดเร็ว

คุณอาจต้องรีบเริ่มสร้างแอปพลิเคชันทันที แต่ก่อนอื่น คุณอาจต้องกําหนดค่าสภาพแวดล้อมการพัฒนาและตั้งค่าเครื่องมือที่คุณต้องเรียกใช้โมดูลที่รวมอยู่ในไลบรารีของไคลเอ็นต์ ทําตามขั้นตอนด้านล่าง และคุณจะเรียกใช้โค้ดได้โดยเร็ว

การติดตั้ง Python

หากคุณจะพัฒนาด้วยไลบรารีของไคลเอ็นต์ Python คุณจะต้องมี Python 2.2 ขึ้นไปในเวอร์ชันที่ใช้งานได้ ระบบปฏิบัติการจํานวนมากมาพร้อมกับ Python ในเวอร์ชันหนึ่ง คุณจึงข้ามขั้นตอนการติดตั้งได้ หากต้องการดูเวอร์ชัน Python ที่คุณใช้ ให้เรียกใช้ python -V ในเทอร์มินัลบรรทัดคําสั่ง (หมายเหตุ: V เป็นตัวพิมพ์ใหญ่) ซึ่งจะส่งผลดังนี้

Python 2.4.3

หากเห็นเวอร์ชัน 2.2 ขึ้นไป คุณจะเริ่มติดตั้งทรัพยากร Dependency ได้ หรือดูคําแนะนําการติดตั้ง/การอัปเกรดสําหรับระบบปฏิบัติการด้านล่าง

การติดตั้ง 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 และระบบปฏิบัติการ *Xx อื่นๆ ผมก็อยากดาวน์โหลดซอร์สโค้ดและคอมไพล์ อย่างไรก็ตาม คุณอาจใช้ตัวจัดการแพ็กเกจที่ชื่นชอบเพื่อติดตั้ง Python ได้ (เช่น ใน Ubuntu อาจง่ายพอๆ กับการเรียกใช้ sudo apt-get install python ในบรรทัดคําสั่ง) หากต้องการติดตั้งจากแหล่งที่มา ให้ทําตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลด Tarball ต้นฉบับจากหน้าดาวน์โหลด Python
  2. เมื่อดาวน์โหลดแพ็กเกจแล้ว ให้แตกแพ็กเกจโดยใช้บรรทัดคําสั่ง คุณใช้
    tar zxvf Python-2.<Your version>.tgz
    ต่อไปนี้ได้
  3. ถัดไป คุณต้องคอมไพล์และติดตั้งซอร์สโค้ดสําหรับล่าม Python ในไดเรกทอรีที่บีบอัดแล้ว ให้เรียกใช้ ./configure เพื่อสร้างยี่ห้อ
  4. จากนั้นเรียกใช้ make การดําเนินการนี้จะสร้างไฟล์ปฏิบัติการ Python ที่ใช้งานได้ในไดเรกทอรีในเครื่อง หากคุณไม่มีสิทธิ์รูทหรือต้องการใช้ Python จากไดเรกทอรีหน้าแรก คุณก็หยุดที่นี่ได้ คุณจะเรียกใช้ Python จากไดเรกทอรีนี้ได้ ดังนั้นจึงอาจต้องเพิ่ม Python จากตัวแปรสภาพแวดล้อม PATH ด้วย
  5. ฉันต้องการติดตั้ง Python ใน /usr/bin/ โดยให้สคริปต์ Python ส่วนใหญ่ค้นหาล่าม หากคุณมีสิทธิ์เข้าถึงรูท ให้เรียกใช้ make install เป็นรูท การดําเนินการนี้จะติดตั้ง Python ในตําแหน่งเริ่มต้นและทุกคนในเครื่องจะใช้งานได้
  6. ตรวจสอบว่าการติดตั้งทํางานตามที่คาดไว้หรือไม่โดยการเปิดเทอร์มินัลและเรียกใช้ python -V

การติดตั้งทรัพยากร Dependency

ปัจจุบันทรัพยากร Dependency ภายนอกเดียวคือไลบรารี 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 หากไม่มีสิทธิ์เข้าถึงระดับรูท ให้ติดตั้งโมดูลในไดเรกทอรีหลักหรือตําแหน่งอื่นโดยเรียกใช้ ./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=<your home Directory> ได้
  • คุณต้องการหลีกเลี่ยงการติดตั้งโมดูลทั้งหมดในบางกรณี วิธีการคือแก้ไขตัวแปรสภาพแวดล้อม PYTHONPATH ให้มีไดเรกทอรีที่มีไดเรกทอรี gdata และ atom สําหรับไลบรารีของไคลเอ็นต์ Google Data Python ดูวิธีแก้ไข PYTHONPATH ได้ที่ภาคผนวกที่ท้ายบทความนี้

  • ทางเลือกหนึ่งที่ฉันพูดถึงคือการคัดลอกไดเรกทอรี gdata และ atom จากไดเรกทอรี src ไปยังไดเรกทอรีใดก็ตามที่คุณมีเมื่อเรียกใช้ python Python จะค้นหาในไดเรกทอรีปัจจุบันเมื่อคุณนําเข้า แต่เราไม่แนะนําให้ใช้วิธีนี้ เว้นแต่คุณกําลังสร้างสรรค์สิ่งที่รวดเร็วและเรียบง่าย

เมื่อติดตั้งไลบรารีข้อมูลของ Google แล้ว คุณก็พร้อมที่จะนําคลังไปใช้กับการทดลองขับ

การทดสอบและการสุ่มตัวอย่าง

การกระจายไลบรารีของไคลเอ็นต์ Google Data Python มี กรอบการทดสอบบางรายการที่ใช้ในการพัฒนาไลบรารี นอกจากนี้ ยังทําหน้าที่เป็นการตรวจสอบสั้นๆ เพื่อให้แน่ใจว่าทรัพยากร Dependency และการติดตั้งไลบรารีทํางานได้ดี จากไดเรกทอรีระดับบนสุดที่คุณดึงสําเนาไลบรารีออก โปรดลองทําดังนี้

./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 ได้บ้าง

การเขียนตัวอย่าง "สวัสดีชาวโลก"

มาดูตัวอย่างง่ายๆ กัน ต่อไปนี้คือโปรแกรมสั้นๆ เพื่อพิมพ์รายการเอกสารทั้งหมดในบัญชี Google เอกสาร

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 โดยตั้งค่าในไฟล์การกําหนดค่า Shell ของฉัน .bashrc หากใช้ Shell Bash Shell คุณสามารถตั้งค่าตัวแปรได้โดยการเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ ~/.bashrc

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

จากนั้นคุณนําการเปลี่ยนแปลงเหล่านี้ไปใช้กับเซสชัน Shell ปัจจุบันได้โดยเรียกใช้ source ~/.bashrc

สําหรับ Windows XP ให้ดึงตัวแปรสภาพแวดล้อมสําหรับโปรไฟล์ดังนี้ แผงควบคุม > คุณสมบัติของระบบ > ขั้นสูง > ตัวแปรสภาพแวดล้อม จากตรงนี้ คุณสามารถสร้างหรือแก้ไขตัวแปร PYTHONPATH และเพิ่มตําแหน่งของสําเนาไลบรารีในเครื่องได้