ubuntu下安装cx_Oracle

Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加一行:

deb http://oss.oracle.com/debian unstable main non-free

即可。在运行 apt-get update 命令之前,还需要将该源服务器的公钥添加在本地 apt 系统的密钥库中。首先下载公钥:

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle

下载完成之后添加该公钥到密钥库中:
sudo apt-key add RPM-GPG-KEY-oracle

再执行
sudo apt-get update
同步软件包索引文件。

我们可以从这个源上下载安装 Oracle 10g Express Edition。可以选择的软件包有:

oracle-xe - Oracle Database 10g Express Western European Edition
oracle-xe-client - Oracle Client 10g Express Edition
oracle-xe-universal - Oracle Database 10g Express Universal Edition

因为我的开发工作只需要在本地安装一个用于连接 Oracle 服务器的客户端,所以我选择安装的是 oralce-xe-client 这个软件包。

sudo apt-get install oracle-xe-client

安装成功之后,还需要在设置相关的环境变量。编辑 /etc/environment,添加如下几行:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
TNS_ADMIN=/usr/lib/oracle
PATH=$PATH:$ORACLE_HOME

export ORACLE_HOME
export LD_LIBRARY_PATH
export TNS_ADMIN
export PATH

保存文件之后,运行
source /etc/environment

使方才设置的环境变量即刻在当前终端中生效。切换到 /usr/lib/oracle 目录中,建立 tnsnames.ora 文件,用于配置 Oracle 服务器的连接信息。

此上copy自:http://www.itjj.net/tech/DB/Oracle/anzhuangpeizhi/20080608/300965.html

下面,因为我开发用的python版本为2.5.4,而ubuntu9.04安装了2.6.1,所以我之前 ls -fs /usr/bin/python{2.5,}了一下,这次安装cx_Oracle要改回来,不然报错。
python setup.py build install,用root账户,不能用sudo,会报错,不知道为什么。
安装之后的cx_Oracel工作在python2.6.1下,再把python改回2.5.4.
运行python,import cx_Oracle,报错。
把2.6.1下安装的文件拷贝到2.5.4,sudo cp /usr/local/lib/python2.6/dist-packages/cx_Oracle* //usr/local/lib/python2.5/site-packages/。
修改/etc/ld.so.conf,加入$ORACLE_HOME下的lib目录./usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib.
ldconfig.
再次python,import cx_Oracle,ok!

还是发现了问题,在python2.6下可以执行sql,在2.5下执行报错,郁闷!
终于还是在2.6下装着使用了,反正向后兼容...

你可能感兴趣的:(Linux)