在Linux Mint 16上安装cx®Oracle for Python

2024-09-27 22:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经按照这里的说明http://maxolasersquad.blogspot.com/2011/04/cxoracle-on-ubuntu-1104-natty.html在我的机器上安装cxu Oracle。在

我已经为python3.3安装了oracleclient11.2和cxunoracle11g,都是64位的。使用help('modules')将cx\u Oracle列为一个模块,但是我在导入时收到以下错误消息:

Traceback (most recent call last):
   File "<pyshell#0>", line 1, in <module>
    import cx_Oracle
ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory

看起来我缺少一个文件,但我不确定是否需要安装依赖项,或者某些配置没有正确设置以指向客户端。在

谢谢你的帮助。在

编辑:

更新,当我运行echo $ORACLE_HOMEecho $LD_LIBRARY_PATH时,我现在得到了期望的值。然而,错误仍然存在。在


Tags: echocom机器httponubuntuhtml错误
2条回答

是否导出了ORACLE\U HOME和LD\U LIBRARY\U PATH变量?在

我想图书馆的路还没到。 如果不在您的环境中设置:

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

编辑:

好吧,如果只运行sqlplus会怎么样?在

你设置了NLS\u LANG吗?在

举个例子

^{pr2}$

如果您遵循了您引用的指南,那么您也已经在/etc/profile.d/中创建了一个脚本。请确保此脚本以.sh结尾。在

您的问题可能与从这个目录加载脚本有关,我猜这是因为您从一个非登录bashshell运行python。在

要验证这种情况,请尝试使用bash login调用bash,或者在现有bashshell中执行source /etc/profile。然后检查变量ORACLE_HOMELD_LIBRARY_PATH是否定义了一个合理的值。在

如果可以的话,还有一些相关的问题(和答案!)关于AskUbuntu的/etc/profile.d中的脚本,可能会有帮助:

编辑:

环境变量是继承的——如果shell有一个变量,那么从这个shell开始的任何东西都应该继承这些变量。在

记住这一点,试着做到:

$ bash  login
$ python
>>> import os
>>> print os.environ.get('ORACLE_HOME', '<not set>')
>>> print os.environ.get('LD_LIBRARY_PATH', '<not set>')
>>> import cx_Oracle

相关问题 更多 >

    热门问题