Shu*_*deo 1 python oracle cx-oracle oracle11g importerror
我在我的配置中使用了Oracle 11gUbuntu 16.04,它的工作非常好.
以前我尝试安装Oracle 12c,这是一些错误,所以我删除它并安装11克.
现在,我的问题是,当我尝试使用import cx_Oracle时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
Run Code Online (Sandbox Code Playgroud)
我的.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
Run Code Online (Sandbox Code Playgroud)
为什么还要尝试Oracle 12c?11g配置或12c卸载中是否有错误?
我已经尝试卸载并重新安装cx_oracle通过pip.
在要加载的cx_Oracle共享库文件上运行ldd命令.您应该能够使用"imp"模块来查找正在加载的cx_Oracle模块的位置,如下所示:
import imp
imp.find_module("cx_Oracle")
Run Code Online (Sandbox Code Playgroud)
您可能会发现它尝试加载的模块位于您没想到的地方!
此外,当您运行命令pip install cx_Oracle确认它实际正在编译以及正在链接的文件时.
我希望其中一个提示可以帮助您找出问题与您的配置有关.
| 归档时间: |
|
| 查看次数: |
5233 次 |
| 最近记录: |