查看CentOS自带的python路径和版本
[root@oracle11g ~]# which python
?/usr/bin/python
?[root@oracle11g ~]# python -V
?Python 2.6.6
下载python3.3的源码包(http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2)进行安装
tar -xvjf Python-3.3.2.tar.bz2
?cd Python-3.3.2
?./configure --prefix='/usr/local'
?make && make install
设置python3的路径
ln -s /usr/local/bin/python3.3 /usr/bin/python3
这里不替换原2.6版本的python,因为yum依赖2.6版本的python。如果要替换,需要更改yum文件。为了稳妥起见,用python3表示python3.3的程序。
python访问Oracle一般使用一个叫cx_Oracle的python扩展模块(http://cx-oracle.sourceforge.net/)。cx_Oracle再通过OCI来访问Oracle。这里的系统环境中,Oracle用户下已经安装好了Oracle客户端,且环境变量已经配置好。
?选择下载最新版的源码包进行安装
tar -zxvf cx_Oracle-5.1.2.tar.gz
?cd cx_Oracle-5.1.2
?python3 setup.py build
?python3 setup.py install
说明cx_Oracle已经安装成功。
?再使用Oracle用户测试连接数据库进行查询
[oracle@oracle11g ~]$ cat testpy.py
?#! /usr/bin/env python3
?import cx_Oracle
?# connect via SQL*Net string or by each segment in a separate argument
?#connection = cx_Oracle.connect("user/password@TNS")
?connection = cx_Oracle.connect("scott", "tiger", "V_ORCLDB")
?cursor = connection.cursor()
?cursor.execute("""
? ? ? ? select sysdate col_test
? ? ? ? from dual""")
?for col_test in cursor:
? ? print ("Sysdate:", col_test)
?[oracle@oracle11g ~]$ python3 testpy.py
?Sysdate: (datetime.datetime(2013, 9, 24, 23, 1, 20),)
?[oracle@oracle11g ~]$
测试成功。
下面关于Python的文章您也可能喜欢,不妨看看: