从Python

时间:2015-06-01 00:43:19

标签: python python-2.7 oracle11g cx-oracle

尝试使用cx-oracle从Python连接到Oracle数据库。我按照此链接中提到的步骤进行操作:https://gist.github.com/thom-nic/6011715

我正在运行Python 2.7.8。在Yosemite(10.10.2)上。在我的机器上将即时客户端解压缩到此路径后:/ Users / ayada / Library / Share / oracle设置为ORACLE_HOME并将DYLD_LIBRARY_PATH,LD_LIBRARY_PATH设置为ORACLE_HOME。我使用Pip(env ARCHFLAGS =“ - arch $ ARCH”pip install cx_Oracle)安装cx_oracle但遇到以下错误: distutils.errors.DistutilsSetupError:

Oracle主页(/ Users / ayada / Library / Share / oracle)未引用9i,10g,11g或12c安装。

清理...... 命令python setup.py egg_info失败,错误代码为1 / private / var / folders / 22 / 78xh65wd3xq232p4zd18l8800013hw / T / pip_build_ayada / cx-Oracle 在/Users/ayada/.pip/pip.log

中存储失败的调试日志

为了给出一些上下文,我没有在我的机器上安装Oracle数据库,但我正在尝试连接到远程服务器。

我是在Mac上工作并做这些设置的相对新手。请指教。

1 个答案:

答案 0 :(得分:0)

您是否已按照所粘贴链接的评论部分中的kevindalias建议?

  

似乎Oracle自从发布以来对基本zip进行了更改,所以对于到达此处的其他人来说:

ln -s libclntsh.dylib.11.2 libclntsh.dylib ln -s libocci.dylib.11.2 libocci.dylib

  

应该是......

ln -s libclntsh.dylib.11.1 libclntsh.dylib ln -s libocci.dylib.11.1 libocci.dylib

  

当您解压缩拉链时,您会看到两个11.1文件,并且链接需要指向它们。通过这个调整,我能够使用64位版本的Oracle Instant Client 11.2和Python 2.7.6在OS X 10.8.5上安装cx_Oracle 5.1.2。祝你好运。

我也不了解Mac,但在RHEL中,我的ORACLE_HOME与LD_LIBRARY_PATH不同:

LD_LIBRARY_PATH=$ORACLE_HOME/lib ORACLE_HOME=/usr/lib/oracle/12.1/client64