本来是不需要在这儿做翻译的,但是……原文根本就不是英文!Python3可以直接从源上获取到,从配置oracle的客户端(cx_Oracle需要)开始:
安装Oracle Client
从http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html上下载气需要的包,并安装(名字见下面的安装命令,basic,sqlplus,devel):添加动态库位置 vim
/etc/ld.so.conf.d/oracle.conf
写入 /usr/lib/oracle/11.2/client64/lib
# alien -i
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
# alien -i
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
# alien -i
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
然后ldconfig使它生效
添加环境变量 vim /etc/profile 添加export
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=/usr/lib/oracle/11.2/client64
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib
然后source /etc/profile一下使这些环境变量生效
测试:
# sqlplus /nolog
SQL> conn
system/system@192.168.1.10:1521/ora112
Connected.
SQL> exit
可以添加服务解析文件:vim /usr/lib/oracle/11.2/client64/tnsnames.ora
写入 oracle11 = (DESCRIPTION = (ADDRESS = (PROTOCOL =
TCP)(HOST = 192.168.1.10)(PORT =
1521)) (CONNECT_DATA
= (SERVER = EDICATED) (SERVICE_NAME =
ora112) ) )
再测试:
# sqlplus /nolog
SQL> conn system/system@oracle11
Connected.
编译python3的cx_Oracle
源码可以由google搜到主页去下载
编译python3 setup.py build,安装python3 setup.py install。
如果sudo 执行install命令失败,并提示如下,su切换超级用户再执行一次即可。
Traceback (most recent call last):
File "setup.py", line 132, in
raise DistutilsSetupError("cannot locate an Oracle software "
\
distutils.errors.DistutilsSetupError: cannot locate an Oracle
software installation
测试
$python3 >>
import cx #不报错即是OK
排版好麻烦啊!这里还有一份我自己Evernote上的,也没排好。比这里的强一点……
https://www.evernote.com/shard/s194/sh/0c6f3200-30d5-4c85-b8ff-4e4135253252/4c76f7af5712ea68b48cbcaf3af4ceb7