ant21 on Apr 4th, 2008Django Python MySQLdb etc on DreamHost
虽然 Dreamhost 官方不支持 Django,但想在 DH 上跑 Django 也不是件困难的事情。基本上,只要照着 Jeff 大哥的指南走就可以了,同时也要参考下 DH 的 wiki,但在开始之前,说说我的经验。
Dreamhost 的 Python 版本为 2.3 和 2.4 的。如果你不想用 2.5 版本的 Python,但要用一些安装到 site-package 的库,那么需要先安装 virtualenv 虚拟环境:
1python virtualenv.py ENV
ENV 为你要安装到的目录,比如 local 或者其它,然后它会在 ENV 中建立 bin 和 lib 目录,自动安装 easy_install 并设置环境变量,这样以后你就可以在自己的小环境中玩了,不受限制。
如果想要用 2.5 的 Python,就需要自己下载源代码编译:
123./configure –prefix=$HOME –enable-unicode=ucs4
make
make install
–prefix 设置为欲安装到的目录。
然后编辑 ~/.bash_profile,把 Python 的安装目录设置到环境变量中。记得在 py 文件中也要把
1#!/usr/bin python
改为
1#!/home/your_name/python_install_directory/bin python
特别是配合 django [...]
ant21 on Dec 5th, 2007安装 Python Imaging Library(PIL)
下载 Imaging-1.1.6 解压并进入目录后,运行
1python setup.py build_ext -i
会有类似这样的输出
123456789101112——————————————————————–
PIL 1.1.6 BUILD SUMMARY
——————————————————————–
version 1.1.6
platform linux2 2.4.3 (#2, Oct 6 2006, 07:52:30)
[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)]
——————————————————————–
*** TKINTER support not available
— JPEG support ok
— ZLIB (PNG/ZIP) support ok
— FREETYPE2 support ok
——————————————————————–
不过很有可能,显示 JPEG 和 FREETYPE2 不被支持,这是由于缺少必要的开发库导致,根据它的建议,我们安装下面这些库。
支持 JPEG 的:libjpeg62,libjpeg62-dev
支持 FREETYPE1 的:libttf2,libttf-dev
支持 FREETYPE2 的:libfreetype6,libfreetype6-dev
1sudo apt-get install libjpeg62 libjpeg62-dev libttf2 libttf-dev [...]
ant21 on Nov 28th, 2007安装 MySQLdb — Python 的 MySQL 驱动
如果你的 Django 搭配 MySQL 使用,根据 Django 的说明,你需要 MySQLdb 驱动。安装之前,需要装 libmysqlclient15-dev 和 python2.4-dev,否则无法 build。根据你的版本不同而有所不同。
12sudo apt-get install libmysqlclient15-dev
sudo apt-get install python2.4-dev
修改 site.cfg 文件,指定 mysql_config 安装位置
1mysql_config = /usr/bin/mysql_config
然后 build
1python setup.py build
如果不出错的话
1sudo python setup.py install
就完成了。
ant21 on Sep 3rd, 2007转换 BlogBus 到 WordPress 的 Python 脚本
周末没干别的,净搬家了。把 blogbus 和 blogsome 的博全都搬过来了,还是自己的地方用着放心哪。
blogbus 还算不错的,提供 xml 的导出功能,可惜是专有格式。网上似乎只有冰古的一个 php 的转换脚本。我自己对 php 一窍不通,而且这个脚本不能导入评论,还需要在服务端运行,我感觉不是很方便。正好最近和 Python 热恋中,于是动手写了一个转换脚本。
这个脚本目前仅支持 Python2,它读取 blogbus 导出的 xml 文件,然后为你生成 WordPress 专用的 Extended RSS 格式文件。评论,分类也包含其中,你不用担心用户的评论在转换中会丢失。提醒一下:记得导入时选择 WordPress 或者 WordPress Extended RSS(老版 WP),不要选择 RSS,否则小心评论导不进去哦。
更新(2007.10.31):一些网友发来邮件说转换有问题,我发现是由于 blogbus 的导出 xml 文件有些细微的变化。原来的 SchemaVersion 是 1.0-b,现在到了 1.1,因此我也把程序改了一下,目前 blogbus 的两种导出文件都能转换了。
更新(2008.10.08):一些 bug 修复。更友好的错误提示,我想用户应该可以根据提示自己修复 blogbus 的导出文件了。
更新(2009.01.01):增加输出 <wp:comment_date_gmt> 标签,内容同 comment_date。有网友说 WP 2.7 版本没有这个标签无法导入评论,奇怪。增加选项 -o,便于调整输出条目的顺序。
更新(2010.01.19):支持 WordPress 2.9 [...]
ant21 on Sep 14th, 2005最小的 P2P 程序
记得我以前的 blog 里面提到过 TinyP2P 这个由 Dr. Edward Felten 用 Python 写的仅有 15 行的并号称世界上最小的 P2P 程序。
整个程序是这样:
# tinyp2p.py 1.0 (documentation at http://freedom-to-tinker.com/tinyp2p.html)import sys, os, SimpleXMLRPCServer, xmlrpclib, re, hmac # (C) 2004, E.W. Feltenar,pw,res = (sys.argv,lambda u:hmac.new(sys.argv[1],u).hexdigest(),re.search)pxy,xs = (xmlrpclib.ServerProxy,SimpleXMLRPCServer.SimpleXMLRPCServer)def ls(p=""):return filter(lambda n:(p=="")or res(p,n),os.listdir(os.getcwd()))if ar[2]!="client": # license: http://creativecommons.org/licenses/by-nc-sa/2.0 myU,prs,srv = ("http://"+ar[3]+":"+ar[4], ar[5:],lambda x:x.serve_forever()) def pr(x=[]): return ([(y [...]
ant21 on Sep 10th, 2005一些 Python 的电子书和 Ruby
在 miex 上有关 Python 的一些电子书,挺多的。
昨晚下载了 Boa Constructor,一个跨平台的 Python IDE 和 wxPython GUI Builder,真的是太爽了,俨然就是 Delphi,立刻有了把以前开发的 Swing app 移植到 Python 下的冲动,本地窗口看起来还是最爽的。
本年度最佳 Hacker:David Heinemeier Hansson,由 Google和 O’Reilly 联合颁发。
为啥呢?就因为此大牛发明了这个东东。详细报道。(都是 79 年的,差距咋就那么大ni?)
David 关于如何开始学习 Ruby 的文章。