我已经在其中配置了Oracle 11g,Ubuntu 16.04
并且工作正常。
以前,我尝试安装Oracle 12c
,但出现了一些错误,因此我将其删除并安装了11g。
现在,我的问题是,当我尝试使用import cx_Oracle
in时python
,它给带来了导入错误libclntsh.so.12.1
。
这是整个输出:
>>> import cx_Oracle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libclntsh.so.12.1: cannot open shared object file: No such file or directory
我的.bashrc文件包含以下条目:
export PATH="/home/marvin/anaconda2/bin:$PATH"
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
为什么仍要服用Oracle 12c
?11g配置或12c卸载中是否存在一些错误?
我已经尝试cx_oracle
通过进行卸载和重新安装pip
。
在要尝试加载的cx_Oracle共享库文件上运行ldd命令。您应该能够使用“ imp”模块来查找正在加载的cx_Oracle模块的位置,如下所示:
import imp
imp.find_module("cx_Oracle")
您可能会发现它在尝试加载的模块位于您意料之外的地方!
另外,当您运行命令pip install cx_Oracle时,请确认它实际上正在编译以及正在链接哪些文件。
我希望这些技巧之一能够帮助您找出配置问题所在。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句