服务器环境
系统:Red Hat Enterprise Linux Server release 6.7 (Santiago)(64位)
数据库:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
Python:Python 2.6.6
Oracle Instant Client安装
下载地址:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
选择合适的版本下载 我选择的是Instant Client for Linux x86-64 下的 oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
注意:此处只需要下载basic版本就可以了,也可以下载zip文件自行安装。下载的时候需要oracle的账户,没有的话可以注册一个
文件迁移:因为我下载到了本地,所以需要通过sshclient将文件传输到服务器。在服务器上可以使用wget 命令下载,参见 《Python + Redis 模块配置》
安装:找到服务器中文件的位置,执行sudo rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
1.png我的安装路径为 /usr/lib/oracle/12.1/client64/
提示:安装路径查询方法rpm -ql 包名注意这里的是不包括.rpm后缀的软件包的名称
环境变量: 通过vi /etc/profile 指令编辑 系统文件,添加环境变量
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;
export LD_LIBRARY_PATH
3.png 添加完成后执行:source /etc/profile
注意:当切换为不同用户使用系统是,可能需要为不同用户配置环境变量,最好直接配置root的环境变量
Python cx_Oracle 模块安装
下载地址:https://pypi.python.org/pypi根据自己的操作系统,数据库以及python版本,我选择的是
文件迁移:同上
安装: 将压缩包解压到相应的文件夹,tar -xvfz cx_Oracle-5.2.tar.gz
提示:tar -cvfz archive.tar.gz dir1 ####创建一个gzip格式的压缩包#### tar -xvfz archive.tar.gz ####解压一个gzip格式的压缩包####
配置Python:安装完成后,进入文件夹cd cx_Oracle-5.2,执行python setup.py build install进行模块安装
注意:如果出现gcc的编译错误是因为系统没有安装gcc,执行yum install gcc 就能自动安装。
测试
进入Python环境,执行import cx_Oracle,没有报错则配置成功
如果出现:No such file or directory 错误
小结
我的碰到的问题是 No such file or directory 错误 ,出现原因是因为环境变量没有配置
网友评论