หลังจากเราสร้าง Project ด้วยคำสั่ง paster กันไปแล้ว ทีนี้ก็มาถึงเรื่องของ dependencies แล้วล่ะ
ใน Pylons ปกติผมเห็นแต่ คน เค้า ใช้ SQLAlchemy กันทีนี้ก็คือถ้าจะลงก็ใช้ easy_install ได้
easy_install SQLAlchemy
ทดลองด้วยการเรียกใช้ Interactive Python Shell แล้วพิมพ์ตาม ต้องได้ผลตามนี้
>import sqlalchemy
>sqlalchemy.__version__
‘0.5.0beta3’
ทีนี้ก็ใช้งาน SQLAlchemy ได้แล้วล่ะ
แต่เดี๋ยวก่อน ถ้าเกิดเราไม่รู้ว่าต้องลงอะไรบ้างล่ะ เช่นตอนที่สร้าง project เราเลือกใช้ template อื่นนอกจาก Mako เช่น Jinja เราก็จะต้องมาลง Jinja ด้วย แต่ช้าก่อนถ้าเราลองสั่ง paster ดู จะได้ผลลัพธ์ดังนี้
Traceback (most recent call last):
File “/home/wien/bin/paster”, line 8, in
load_entry_point(‘PasteScript==1.6.3’, ‘console_scripts’, ‘paster’)()
File “/home/wien/py-lib/PasteScript-1.6.3-py2.5.egg/paste/script/command.py”, line 68, in run
commands = get_commands()
File “/home/wien/py-lib/PasteScript-1.6.3-py2.5.egg/paste/script/command.py”, line 110, in get_commands
plugins = pluginlib.resolve_plugins(plugins)
File “/home/wien/py-lib/PasteScript-1.6.3-py2.5.egg/paste/script/pluginlib.py”, line 81, in resolve_plugins
pkg_resources.require(plugin)
File “/usr/lib/python2.5/site-packages/pkg_resources.py”, line 626, in require
needed = self.resolve(parse_requirements(requirements))
File “/usr/lib/python2.5/site-packages/pkg_resources.py”, line 524, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: Jinja: Not Found for: hello (did you run python setup.py develop?)
เอ๊ะ มันทะแม่งๆแฮะ มาบ่นว่า Jinja ไม่มีไม่พอ มีการท้าทายว่า ได้ลองเรียก python setup.py develop รึยัง ท้าแบบนี้มีหรือจะไม่ลอง
[wien@localhost]$ python setup.py develop
Processing dependencies for hello==0.1dev
Searching for Jinja
Reading http://www.pylonshq.com/download/
Reading http://pypi.python.org/simple/Jinja/
Reading http://wsgiarea.pocoo.org/jinja/
Reading http://jinja.pocoo.org/
Best match: Jinja 1.2
Downloading http://pypi.python.org/packages/source/J/Jinja/Jinja-1.2.tar.gz#md5=1235a005ade00b213800ff1e798c0241
Processing Jinja-1.2.tar.gz
Running Jinja-1.2/setup.py -q bdist_egg —dist-dir /tmp/easy_install-HQeuAp/Jinja-1.2/egg-dist-tmp-fgE5yD
Adding Jinja 1.2 to easy-install.pth file
อ่าวเฮ้ย มีท่านี้ด้วย เด็ดจริงๆ เลยเป็นความรู้ว่า ใช้ท่า python setup.py develop เพื่อลง dependencies ได้ด้วย ตรงนี้ยังไม่รู้ว่ามันจะเอามาใช้ตอน deploy ได้รึเปล่า แต่เดาว่ามันน่าจะใช้ได้ล่ะ ใครลองแล้ววานบอก
ด้วยรักและไพลอนส์66


