cx_Oracle在sublime text里运行遇到 ImportError错误解决办法

如果你装完cx_Oracle之后,命令行运行没错,但是在sublime text里运行, 就遇到这个错误:

ImportError: dlopen(/Library/Python/2.7/site-packages/cx_Oracle.so, 2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
  Referenced from: /Library/Python/2.7/site-packages/cx_Oracle.so
  Reason: image not found

那么恭喜你这是可以解决的,原因是由于某些诡异的安全性考虑,环境变量DYLD_LIBRARY_PATH在mac系统中被不正确的继承,导致cx_Oracle.so找不到libclntsh.dylib.11.1。

那么让我们来人肉告诉cx_Oracle.so它想要的文件在哪

install_name_tool -change   /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1   $ORACLE_HOME/libclntsh.dylib.11.1   /Library/Python/2.7/site-packages/cx_Oracle.so

这个命令的作用是:告诉第四行这个文件,它原以为在第二行的东西,其实在第三行。所以你需要根据上面的错误提示写第二行,再根据你自己libclntsg.dylib.11.1存放的位置写第三行,最后根据你想用的python位置写第四行。比如我用得是anaconda python,我第四行就是 /Users/qixiang/anaconda/lib/python2.7/site-packages/cx_Oracle.so

然后你会遇到另一个错误,类似于

ImportError: dlopen(/Library/Python/2.7/site-packages/cx_Oracle.so, 2): Library not loaded: /ade/dosulliv_ldapmac/oracle/ldap/lib/libnnz11.dylib
  Referenced from: /usr/local/lib/share/oracle/installclient_11_2/libclntsh.dylib.11.1
  Reason: image not found

问题如出一辙:libclntsh.dylib.11.1找不到libnnz11.dylib,解决办法一样

  install_name_tool -change   /ade/dosulliv_ldapmac/oracle/ldap/lib/libnnz11.dylib   $ORACLE_HOME/libnnz11.dylib   $ORACLE_HOME/libclntsh.dylib.11.1

区别在于在此之前需要赋予修改libclntsh.dylib.11.1的权限:

chmod 777 $ORACLE_HOME/libclntsh.dylib.11.1

现在你已经解决了这个问题。

时间: 2024-10-13 17:21:00

cx_Oracle在sublime text里运行遇到 ImportError错误解决办法的相关文章

ubuntu sublime text 3 不支持中文的解决办法

测试系统:Ubuntu 12.10 (理论上所有 Linux 发行版都通用) 输入法:Fcitx 4.2.6.1 Sublime Text 版本:Sublime Text 3 dev(Build 3026) -------------------------------------------------------------------- 我的电脑配置是:linuxMint17.1 输入法:搜狗输入法 Sublime Text 版本:Sublime Text 3 1. 保存下述代码为 sub

Sublime Text 之运行 js 方法

昨天说完<Sublime Text 2 绿化与汉化 [Windows篇]>,今天我们来说说怎么用st直接运行 js 吧.群里的小伙伴一直对我的 ST 能直接运行js感到非常好奇,今天我就公布下这个“秘密”吧..其实非常简单,配置个编译系统即可.可是编译系统是什么,怎么配置呢?接下来我一步一步教你吧..(好像有人告诉我说有什么插件可以实现的,不过还是有noedjs的..)PS: 其实微软也有对 js 的实现叫做 JScript,windows下可基于 WSH 运行,不过还是 nodejs 给力.

Sublime Text 2 运行 Python 脚本中文路径解决方法

在 SublimeText 中直接运行 Python 脚本,出现以下报错提示: Running python -u C:\Documents and Settings\Administrator\桌面\furl.py Traceback (most recent call last): File ".\sublime_plugin.py", line 340, in run_ return self.run(**args) File ".\exec.py", lin

Sublime Text 3中文乱码问题的解决(最有效)

Sublime Text 3中文乱码问题的解决(最有效) Sublime Text 3是很好的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码,如下所示:  解决步骤如下: 大家如果是在官网下载的Sublime Text 3,那么首先需要安装一个 Package Control包,这是一个用来安装其他插件的包,不管装什么插件,首先要先装这个包才行  按ctrl+~快捷键,调出一个小文本款,然后

PHP运行错最有效解决办法Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744

原文 PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312) Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744疑问:786432 是指786432bytes?即:768MB 98304 bytes=9

Sublime Text 3运行程序以及分栏快捷键的设置

Sublime Text 3软件由于每次运行程序都要执行:Tools -> SublimeREPL -> Python -> RUN current file 菜单有点麻烦,所以现在可以考虑给他创建个快捷键 依次点击:perferences ------ key bindings user,将下列代码粘贴 {"keys":["f2"],"caption": "SublimeREPL: Python - RUN curr

Sublime Text编辑器运行Python

众所周知,Sublime Text 是一款非常受欢迎的编辑器.sublime 强大而精巧,它界面友好.功能非凡.性能极佳,可实现代码高亮.语法提示.自动完成,最重要的是它支持众多插件扩展,占用内存少,启动速度快,是一款非常优秀的编辑器.想详细了解使用这款工具的可参考如下视频教学 http://www.imooc.com/learn/40. 1.Sublime Text 3的下载 官网下载地址:http://www.sublimetext.com/3 2.windows下安装与使用 2.1安装 下

Sublime Text 3运行JavaScript控制台

JavaScript控制台的调试和输出在浏览器端的使用算是工作中常用了,作为前端开发主力编辑器Sublime Text本身是不支持JavaScript的输出和运行的.有的时候我们需要看一下输出的效果,不得不借助于F12查看控制台的程序.作为插件系统及其丰富的编辑器,我们可以通过添加Build System的方法来让Sublime Text支持Javascript Console控制台调试. JSC方式(Mac OS X) 1.Mac内置了一个javascript控制台程序,路径比较深: /Sys

Sublime Text 3 中文乱码问题的解决和网上方法的修正

环境: Sublime Text 3008 win 8.1 64bit Sublime Text是个好编辑器,这两天下载来玩了下.但是以前用系统的"记事本"写的文件,很多打开后中文是乱码的. 网上有很多解决方法,基本上差不多.但是如果按照上面的方法来做,则可以用一句话总结:有帮助,但最终不能解决问题. 最后瞎碰了一下,结果给碰通了.现在就记录一下: 1.要解决乱码问题,需要一个插件ConvertToUTF8.而Sublime Text之所以好,就是有很多插件的帮助,把它从一个简单的编辑