Monthly Archives: 八月 2009


玩转浪点之打造自己的django环境

2009/08/15 – 00:45

说明: 虽然本文是针对django而写,但对于其他python框架应同样适用。 浪点现在只支持mod_python这一种部署方式了,详细了解mod_python请参考mod_python 官方手册翻译

构造虚拟环境:

$ python virtualenv.py –no-site-packages sandbox

virtualenv.py下载地址

浪点默认装了一些有用的Python包,如PIL、lxml等,这些依赖c的包是你无法自己在virtualenv环境中使用的,不过好在直接拷贝过来就可以用了

$ cp /usr/share/pyshared/* -r sandbox/lib/python2.6/site-packages/

切换到虚拟环境,安装自己的包

source sandbox/bin/activate easy_install Django

自定义Pythonhandler:

这里做的最核心的事情就相当于你运行source bin/activate,把Python运行环境切换为你自己的虚拟环境。

#myve.py activate_this = ‘/home/virtualhost/${username}/sandbox/bin/activate_this.py’ execfile(activate_this, dict(__file__=activate_this)) from django.core.handlers.modpython import handler

配置 .htaccess

注意这里的mysite和project。PythonInterpreter可随意写,只要别和其他目录下重复就行了,不写也可以

SetHandler python-program PythonPath "['/home/virtualhost/${username}/sandbox/bin', '/home/virtualhost/${username}/xmu.me/public_html/${mysite}/'] + sys.path" PythonHandler myve SetEnv DJANGO_SETTINGS_MODULE {project}.settings PythonDebug On PythonInterpreter wayhome

现在你就可以访问你的django程序了,have fun :) 如果你喜欢这篇文章,欢迎 订阅我的 RSS feed!

By youngking | Posted in Tech | Tagged , , , Comments (0)

处理wsgi时需小心的问题

2009/08/13 – 21:19

首先,response的所有heaer必须为字符串,unicode,数字都不可以!

当然,在一般的测试服务器中没什么大不了的,但是在apache的mod_wsgi中你或许就会遇到这种很奇怪的问题。

再者,计算response的content-length时需小心。不然就可能出现页面下载不完全的问题。

请注意 len(”中文”) 和 len(u”中文”)的长度是不同的,因此计算输出页面长度之前,最好先encode为utf-8。这样页面显示就正常了。 如果你喜欢这篇文章,欢迎 订阅我的 RSS feed!

By youngking | Posted in Tech | Tagged , Comments (0)

easy_install is not so easy

2009/08/13 – 01:19

Easy_install is not so easy,you may got problem some times. For example,when I install PIL,it will got an error:

Searching for PIL Reading http://pypi.python.org/simple/PIL/ Reading http://www.pythonware.com/products/pil Reading http://effbot.org/zone/pil-changes-115.htm Reading http://effbot.org/downloads/#Imaging No local packages or download links found for PIL error: Could not find suitable distribution for Requirement.parse(’PIL’)

You can got it work like this:

easy_install –find-links http://www.pythonware.com/products/pil/ Imaging

And also,by default,the reportlab 2.3 is not supported [...]

By youngking | Posted in Tech | Tagged Comments (0)

如何作一个优秀的程序员

2009/08/11 – 23:36

诚然,自认为自己距一个优秀的程序员还相差甚远,只是抛砖引玉,说说自己的感觉。

《编程珠玑》上言,优秀的程序员都有点儿懒:他们会舒适的靠背坐着,等待灵感出现,而不急于将自己的第一思想转化为编码。网上流传一个传说,是懒人创造了这个世界。一些问题,苦思冥想不得其解,走在路上,吃饭回来,忽然就想出来了。

优秀的程序员信奉的几条信仰,少即是多,慢即是快,舍即是得。很多时候拿到手里即编码反而比不上慢慢设计,到心中完全清楚才开始编码。所谓欲速则不达即是如此。

优秀的程序员应努力看到问题的本质,不该问了问题而问题,更应该看到问题身后的背景,问题带来的影响。不要匆匆忙忙的就把程序写出来,那个帮爱迪生量瓶子容量的研究生该不会就是你吧?

优秀的程序员的程序应尽量简短,干净,漂亮。优秀的代码不是你还能增加什么,而是你不能减少什么,优秀的程序是赏心悦目的。重构,重构到你无法再重构。如果一个东西复杂到你无法理解,那就不应该是你理解的。任何东西都应该有足够清晰的方式表达出来。

多学几门语言,多看几本书,但一定要读好书,程序员的生命实在宝贵,别把时间浪费在那些不值得一读的烂书上。视野要宽阔些,不要被语言的局限所限制,不要太过于钻研细节,要有大局观,诸葛亮就是被累死的!

一年有数月,一月有数日,一日有数时,跳出程序外,不在五行中。

先只想到这些,以后想到慢慢补充。 如果你喜欢这篇文章,欢迎 订阅我的 RSS feed!

By youngking | Posted in Tech | Tagged Comments (0)