linux环境下安装oracle,使用python调用,安装cx_Oracle后报错如下:

查阅多方资料后找到原因。

解决方法:
在/etc/profile中添加
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;
export LD_LIBRARY_PATH
然后用source /etc/profile 生效一下

 

改后如果也不行,可能没有权限执行libclntsh.so.10.1,请ls -l 看一下执行权限吧(有时root也不能执行它)

 

在其他地方找的方法,虽然问题依旧,但还是需要注意:

 
其它方法:
 

安装完成后在python里输入

>>> import cx_Oracle

Traceback (most recent call last):

File "", line 1, in ?

ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory

经过查找发现是oracle的路径没有设置

输入:

locate libclntsh.so.10.1

获取对于路径

/app/oracle/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1

编辑/etc/ld.so.conf

sudo gedit /etc/ld.so.conf

在最后一行输入获取的路径

/app/oracle/oracle/product/10.2.0/db_1/lib/

保存,关闭gedit

执行

ldconfig

再调用就好了