最近一直在做一些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啊),心裡想,這可能是一番坎坷的開始吧,果然,被我說中了……
相關閱讀:CentOS 下Python 2.6.4的安裝 http://www.linuxidc.com/Linux/2011-04/34194.htm
上傳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.
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
源文檔 <http://cx-oracle.sourceforge.net/BUILD.txt>
在server上把oracle instance client basic & sdk 包安裝好後,配置好兩個參數:
ORACLE_HOME = 指向你的oracle instance client安裝目錄
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
下載cx_Oracle的源代碼包,根據自己的操作系統,數據庫以及python版本,我選擇的是
http://cx-oracle.sourceforge.net/
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,最後終於大功告成。