最近一直在做一些support的工作,其中很多内容都需要写一些简单的脚本或者程序,在使用Java开发了几个小tool之后,感觉有点杀鸡用牛刀,而且每次code-test-build-deploy也挺麻烦的,tool一般在远程的server上运行,有时发现个小问题,还得在本地重新修改代码再code-test-build-deploy一次。在得知了Python这个东东之后,我决定有些简单的东西就用简单的方法来实现,上网google一番,python hello world了几次,觉得还挺不错,那么就准备开始吧。
第一步:安装python 2.6.5 on CentOS 4.4
在server上直接打python:
> python
Python 2.3.4 (#1, Mar 10 2006, 06:12:09)
[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Oh, my god!这还是2.3.4版本的,python.org上现在可都已经是2.6.5,download最新的包来安装吧,晕,连python.org也被“墙”了,千亲万苦终于找到了Python-2.6.5.tgz.tar这个宝贝(50多M啊),心里想,这可能是一番坎坷的开始吧,果然,被我说中了……
上传Python-2.6.5.tgz.tar到server,tar开,
> ./configure
> make
> make install
OK,这一步还算顺利,python 2.6.5算是顺利安装上了,直接运行
> /usr/local/bin/python
Python 2.6.5 (r265:79063, Apr 7 2010, 06:34:49)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
和原来的/usr/bin/python不冲突,这样我就把python 2.6.5安装上了。
第二步,安装cx_Oracle
由于写的大部分tool都需要连接oracle数据库,需要安装cx_Oracle,我滴个神啊,这东西搞了我2个小时才最终搞定。其中的痛苦过程就不写了,步骤如下:
Download oracle instance client
这一步非常重要,注意,是两个包,一个basic包,一个sdk包,我就是之前只安装了basic没有安装sdk包,结果搞了很久,也怪我自己看readme不细心:
These hints are based on using Oracle's instantclient_11_1. It is necessary
to download both 'instantclient-linux-basic' and 'instantclient-sdk-linux' from
oracle.com in order to successfully compile.
源文档 <>
在server上把oracle instance client basic & sdk 包安装好后,配置好两个参数:
ORACLE_HOME = 指向你的oracle instance client安装目录
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
下载cx_Oracle的源代码包,根据自己的操作系统,数据库以及python版本,我选择的是
cx_Oracle-5.0.3.tar.gz
当然如果在上面能找到已经编译好适合你的,直接下载rpm进行安装是最简单的
上传cx_Oracle-5.0.3.tar.gz到server,解压,运行
/usr/local/bin/python setup.py build install
之间出了一次gcc的错误,原来这台server上还没有安装gcc,这个直接用yum install gcc搞定。
OK,最后终于大功告成。