好久没从头到尾在centos里配环境,记下以备忘。

1、升级python后,easy_install的目录发生改变,要修改路径:

$ mv /usr/bin/easy_install /usr/bin/easy_install.old $ cp /usr/local/bin/easy_install /usr/bin/

2、安装MySQL-python之前,先要安装mysql-devel

$ yum install mysql-devel $ easy_install MySQL-python

3、关于scrapy那点事,先要装lxml这一堆:

$yum install libxml2 $yum install …

如果你愿意,你可以自己下载源码编译安装nginx,这里提供用yum安装的方法。

默认的yum源比较老也不全,在update这的那的之后,还是没有nginx的身影, 别折腾了, 标准包是没有这玩意儿的。

wget http://www.atomicorp.com/installers/atomic #下载atomic yum源 sh ./atomic #安装 yum check-update #更新yum软件包

2、安装nginx:

yum install nginx #安装nginx,根据提示,输入Y安装即可成功安装 #修改配置文件,这里省略,主要是将目录指定到 /home/ngmsw-files service nginx start #启动 chkconfig …

如果已经安装python-dev和libxml,在开发环境OS X和ubuntu上安装scrapy非常简单:sudo esay_install scarpy。

但在CentOS5.8上安装碰到了一点小麻烦。

[root@localhost ~]# easy_install scrapy Searching for scrapy Best match: Scrapy 0.16.1 Processing Scrapy-0.16.1-py2.7.egg Scrapy 0.16.1 is already the active version in easy-install.pth Installing …

不能使用easy_install或yum在CentOS 5+里安装PIL,会缺胳膊少腿。

需要进行源码安装,并修改setup.py进行配置。

 

#这个地址较快,如果哪天访问不了了,换官方的 wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar xvfz Imaging-1.1.7.tar.gz python setup.py build_ext -i

修改setup.py:

TCL_ROOT = "/usr/lib64/" JPEG_ROOT = "/usr/lib64/" ZLIB_ROOT = "/usr/lib64/" TIFF_ROOT = "/usr/lib64/" FREETYPE_ROOT …

第一步,先安装Oracle客户端,结合你的情况自己找合适的版本,我下载的是 oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm 下载地址 rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm

第二步,找出你的ORACLE_HOME,我安装之后在这里:/usr/lib/oracle/11.2/client64/lib/

第三步,下载oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip 下载地址。解压,把里面那个叫sdk的文件夹复制到 /usr/lib/oracle/11.2/client64/lib/

第四步,做一个软链: $ cd /usr/lib/oracle/11.2/client64/lib/ $ ln -s libclntsh.so.11.1 libclntsh.so

第五步,安装cx_Oracle: $ export ORACLE_HOME=/usr/lib/oracle/11.2/client64/lib $ export …

到你的数据库中,表django_site,把你的默认站点的id改为1,或者到settings.py里把SITE_ID修改为你django_site里那个站点的id,done。

原文地址:http://programmerdigest.cn/2012/03/1190.html

第一步、下载安装cx_Oracle

从sourceforge.net下载cx_Oracle的rmp安装文件,注意下载版本最好和Oracle、Python环境保持一致,我当前的环境是Oracle 11g和Python2.7,因此下载的是cx_Oracle-5.1.1-11g-py27-1.x86_64rpm。

下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/

不用按RPM方式去安装,直接解压从中取出cx_Oracle.so文件(只需要这个),复制到Python环境的dist-packages目录,我的机器是/usr/local/lib/python2.7/dist-packages/

第二步、下载安装Oracle instant client

下载地址http://www.oracle.com/technetwork/indexes/downloads/index.html,从Database栏目的Instant Client链接进入,按当前系统选择对应的下载,我选择的是Instant Client for Linux x86

解压下载文件oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm,路径很长实际上只需要其中的so共享库文件,将所有so文件复制到一个单独路径即可,我将他们复制到/opt/oracle-instantclient11.2/lib。

应该有5个文件: laonan@parallels-Parallels-Virtual-Platform:/opt/oracle-instantclient11.2/lib$ ls libclntsh.so.11.1 libnnz11.so …

在上一篇OS X下配置 cx_Oracle,让python能连接Oracle里讲了怎么在OS X里配置Oracle连接之后,新问题来了:以前装的PIL,当import _imaging时错:

File "", line 1, in ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): \ Symbol not found: _jpeg_resync_to_restart Referenced from: /Library/Python/2.6/site-packages/PIL/_imaging.so Expected in: flat namespace in /Library/Python/2.6/site-packages/PIL/_imaging.so

利用django做multi-db项目时,还是蛮方便的,除了使用using语句在编程中指定数据库,还可以通过编写router的方法更有序地解决这个问题。

下面以Oracle举例,首先,在settings.py里应该有这些设置分别指向不同的数据库:

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'YourDBName', 'USER': 'user1', 'PASSWORD': 'user1', 'HOST': '172.0.0.0', 'PORT': '1521', }, 'db1': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'YourDBName', 'USER': 'user1', …

有些wsdl没有定义schema,别的语言的库可能会自动修补这个问题,但是suds不会。当你的程序出现类似如下错误时,极有可能就是碰上了这种wsdl:

Type not found: '(string, http://schemas.xmlsoap.org/soap/encoding/, )

解决方案:

from suds.xsd.doctor import ImportDoctor, Import from suds.client import Client imp = Import('http://schemas.xmlsoap.org/soap/encoding/') doc = ImportDoctor(imp) url = '你的wsdl url地址放在这里' …

第一步: yourmac:~ Alan$ cd ~ yourmac:~ Alan$ sudo vim .bash_profile

然后在.bash_profile中加入以下内容,并保存。 #Oracle 配置开始 export ORACLE_HOME=/Applications/Oracle/instantclient export LD_LIBRARY_PATH=$ORACLE_HOME export DYLD_LIBRARY_PATH=$ORACLE_HOME export SQLPATH=$ORACLE_HOME export PATH=$PATH:$ORACLE_HOME/bin #for cx_Oracle,这是必须的,强制Python使用32位版本,当不使用Oracle时,可以把这行注释掉,恢复到64bit export VERSIONER_PYTHON_PREFER_32_BIT=yes

万能解决 'ascii' codec can't decode byte 0xe7 in position 63: ordinal not in range(128) 问题方法,在产生这个问题的代码前加上如下代码:

import sys reload(sys) sys.setdefaultencoding('utf8') 目前发现这个问题频繁发生在CentOS上,本地开发环境windows上出现过,OS X还没发现。
/media/photologue/photos/biasha-thumb1.jpg

岜(念bia,一声)沙,从江县城到岜沙大约七八公里距离,很近。

对外宣传这是中国最后一个枪手部落,当然,在我看来,现在都是群众演员。让村里的人现在用枪去打猎毕竟是一件不现实的事。

08年在拉萨,跟平措康桑青年旅馆的老板聊天,得知我是贵州人时,他跟我聊起岜沙,说当年他在岜沙问一个年青人是否愿意过现在这样的生活,年青人回答他其实他们更想过城里的生活,有现代化设施那种。

他问我:你觉得让他们在“表演”原生态来满足我们这种,合适么?

我答:不知道,不过我对“原生态”这个词一直没好感,虽然我热爱青山绿水。不过另一个角度来说,就算是表演,如果不是被逼的,如果不是以欺骗为目的,又有什么关系呢?

这个问题实在很纠结,就像我对老家木楼的态度,一方面回老家去看到一色的白瓷砖外墙,到处是垃圾的小镇,感觉无比陌生,另一方面,木楼每年因为火灾而家破人亡的案例比比皆是,总不能为了满足我们自私的怀旧心理,让还在老家人的承受这种现实之痛吧?

小枪手:

高铎和枪手:

岜沙人崇拜树,在每个逝去的人上面栽一棵树,称之为“树丧”。

岜沙全貌。

2009年10月5日 晚上8:05分,到达小黄。本来当天晚上我们打算在从江县城安顿下来的,但高铎听说小黄晚上有晚会,于是我们直接驱车前往。

当天晚上第一次听到传说中“?扬名国际”的侗族大歌真人演唱,实在听不懂,不过演员们仿蝉的声音不错。也是第一次看侗戏,有明确的丑角分工,负责搞笑的,其余的角色不明显。完事大家还围着篝火转圈,总之很热闹。

第二年又去小黄,阳光很晒,其他人四处拍照,我在戏台的侧面小憩,突然一段悠悠的独唱传过来,不知名乐器声三三两两单薄地陪衬着。我睁开眼看见三个姑娘在台上一字排开,抱着琵琶(其实没有传统的琵琶这么精致)在唱歌,我听了一会儿,感觉像在茶馆抽大烟,眯着小眼被一帮穿肚兜的姑娘伺候,听得入了神,在快结束的时候,急忙用录音笔录了一段下来。晚上到小旅馆,我放给高铎听,他说,这是尚重琵琶歌。

晚上黑麻麻一片,内急去找厕所,找半天找不到,路遇一大叔,跟他讲普通话,听不懂,南侗侗语我又不会。我俩指手划脚了半天,他把我带到了公厕。守公厕的是一没牙的大爷,我完事了出来之后,他冲我说了两个汉字“5毛”,我掏出5毛钱给他,他笑呵呵地凑过来研究我的头灯许久。

高铎跑到一群阿婆面前蹲下,很兴奋地冲我嚷嚷“老楠,搞一张,搞一张。”

清晨,村后

村里的小碰友。

村口全景。

/media/photologue/photos/chejiang-thumb1.jpg

2009年10月5日下午4:22分我们经过榕江县车江大坝(我们那边坝不一定是水库那种,还有一种叫法叫“田坝”,相当于田野的意思),碰见一对夫妻在收割,老李是西北人,没见过稻田收割这架势,于是下地过了把瘾。

我小的时候,最喜欢秋收的季节,跟大人到田野里,几个小孩子用稻草搭小房子在里面玩,抓蚱蜢。只是晚上睡觉时,脖子火辣辣的感觉就出来了,稻草割伤的。

热火朝天的老李:

翻到这些照片的时候,想起那个声音如天籁的潘越云,现在50多岁被老公捉奸在床的潘越云,那时候这么唱,每个人心里都有一亩田。。。

为什么她年轻和老的时候,都那么让人想入非非。

地扪村

位于贵州省黎平茅贡乡北部,距离乡在地4公里,是长江水系清水江源头之一,面积22.1平方公里,耕地面积1667.3亩。全村499户2278人,全部都是侗族。

地扪在依山傍水之中,人1条清泉的小河绕村寨中间而过。建有花桥(风雨桥)3座。寨中建有2座鼓楼,2座戏台,2004年建成一个中心表演戏台,侗族生态博物馆建筑群,是侗族地区民族风情文化保存较为古老而完整且最具有代表性的侗族村寨,它仅次于全国最大的侗寨之一肇兴。

--------以上文字摘自百度百科

当时去的路很难走,阳光强烈,不过因为到处是树的原因,并不炎热。

到这里正好碰上高铎一个多年未见的朋友,跟着噌了一餐“长桌宴”。

老李被灌酒,一开始还能勉强应付,后来落荒而逃。

吃完饭之后,去村里转了转,很安静。

我想,如果开发好了,像丽江那些地方一样游人如织,我就不太想来了,这真是矛盾,一方面希望这里的旅游能搞好,利于当地经济发展。

另一方面,要是太多人,太吵,大家又觉得厌倦。

不知道小朋友们是在小河中抓鱼还是抓虾。

路过一个我忘记了名字的村庄,安静而美丽。

同行老李跟当地村民交谈。

村口晒谷子和老人和路边的小花。

找回一下童年放牛时躺在草地上的感觉吧。

这些年的旅行经历,很多时候,得到深刻印象的,好多是忘记了名字的地方。

刚做完一个Web界面的原型设计,不知不觉天又亮了,前几天我妈跟我视频,用侗语嘱咐我,身体要紧,钱其次。然后谈起老家的谁谁谁和谁谁又出车祸了,要我在外小心云云。

我说上海的路很好,不像家里这么糟糕,只是堵一点而已,别担心。

09年国庆,跟高铎一起在我们老家自驾了一次,这么多年过去了,路况还是一样糟糕,而当地人却说,好多了,好多了,以前路上的坑跟轮胎一样深,你又不是不知道,现在好歹蛮多地方有柏油路了。

在外这么多年走了国内不少地方,而对于自己的家乡,除了本县,却对其它县陌生无比。有一年,我跟一个杭州的朋友炫耀说,唉呀,你是没听过我们侗族山歌,那简单是伤心到骨头里的一种歌声哪。对方很诧异,说,大歌吧,我听过,没像你说的这么忧伤啊。

起码一年之后,我才知道同属黔东南的黎平从江等地,有着“享誉世界”的“侗族大歌”,而这是我在无数次对人自我介绍我的侗族身份,无数次跟人戏谑我们家养童养媳,无数次跟人提及侗语的门发音也是"door"的20多年后。

跟高铎约好在天柱县碰头后再出发,我先坐飞机到贵阳,他从深圳直接开车回去。结果在贵阳,朋友老杨请吃饭时,居然有姑娘唱侗族大歌助兴------------我一句也听不懂。

在贵阳水足饭饱之类的事按下不表,回到天柱县跟高铎碰头,打算去经历一下我从未亲历过的侗族故乡。

天柱县基本上没太多可以游玩的地方,挨着湘西,本县从封建王朝时就一直以“文化县”为傲,所谓“文化”,当然指的是汉文化,所以现在基本上也就跟我国其它任何一个经济欠发达县一样,面目模糊。但有一个村还不错,据我的朋友原点说有相当的历史,里面有稀奇古怪的古建筑,上面还有谁也看不懂的拉丁文字和西洋钟等图案,这个村子叫:三门塘。当年收费标准为:外地,40元/人,本县非本村人,10元/人。

我知道南侗北侗这概念可能是2004年还是2005年,在一个叫侗人网的网站上知道的。那时候我才知道,原来我是北侗人,所以,我只知道我们北侗的山歌,不知有大歌一说。南侗应该指的是黎平,从江等县,这里遍地是我以前从未见过的风雨桥,我像一个真正的外乡人一样走进去。只到后来我回天柱,惊讶地发现,天柱也有了这种建筑,这让我无比恍惚,我所生长的侗乡,是一个没有风雨桥没有鼓楼的侗乡,多年后回去,这个发现对于我来说是这么尴尬的一种面目全非。

据说,这种建筑本来应该是无任何钉子水泥之类的纯木建筑,不过最近几年建的就难说了,比如天柱县那些。

这种叫鼓楼的建筑也一样,在外是侗族人的标志和图腾,可是我直到2009年,才亲眼看到这东西。

有点困了,洗洗睡之,下次找时间再去翻翻论坛,找下那些藏在大山中的美丽村庄。

注:图片上有muloo.com的字样, …

妈的,为这个问题浪费了好几个小时的时间

java 的DataOutputStream 的 writeBytes(String s) 方法在向输出流写入中文字符时会出现问题。该方法的源代码如下:

public final void writeBytes(String s) throws IOException { for (int i = 0 ; i < len ; i++) { out.write((byte)s.charAt(i)); } …

1、注意不要下错版本,我因为没注意在github上下了文件名为1.4但实际是1.5的开发版,后面出现了很多奇奇怪怪的问题,浪费好久的时间,还纳闷为什么1.4的老显示django 1.5呢?1.5不是还没发布吗?

2、目录结构发生改变,settings.py和urls.py移到一个跟项目同名的App里面,根目录下只留manage.py,并且这个文件的内容跟旧版内容也已经不一样,根据官方文档说明,旧的manage.py仍可使用,但在1.5里将出现不推荐使用的警告,而到1.6,将不再可用。如果是把别的1.4的manage.py复制到将要升级的项目里,记得修改: os.environ.setdefault("DJANGO_SETTINGS_MODULE", "laonan.settings") 里面的settings改为要升级的项目的名称。

3、settings.py在时区设置,App位置等有所改变,比如在1.3里,我的博客内App的设置如下: INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.flatpages', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.redirects', # Uncomment the next line to enable the admin: 'django.contrib.admin', …