Pylons กับ dependencies

15 Sep 2008

หลังจากเราสร้าง 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

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.