* 背景
flask框架,使用sqlalchemy连接oracle
使用cx_oracle连接
* 问题
使用库连接的时候报错。报错信息如下:
File "build/bdist.macosx-10.11-intel/egg/cx_Oracle.py", line 7, in <module>
File "build/bdist.macosx-10.11-intel/egg/cx_Oracle.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/yinghaiyun/.python-eggs/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg-tmp/cx_Oracle.so, 2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
Referenced from: /Users/yinghaiyun/.python-eggs/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg-tmp/cx_Oracle.so
cx_Oracle은 어떻게 설치되나요? pip로 컴파일하고 설치하나요? 스택을 보면 cx_Oracle.so가 의존하는 libclntsh.dylib.11.1이 성공적으로 로드되지 않은 것 같습니다.
혹시 Mac이신가요? 앞서 말했듯이 문제는 cx_Oracle.so 자체도 의존하고 있다는 것입니다. 다른 동적 라이브러리 버전이 해당 요구 사항과 일치하고 정상적으로 로드될 수 있는지 확인해야 합니다. 현재 Linux에서는 종속성을 살펴보세요.
Mac에서 ldd에 해당하는 명령어는 otool(http://blog.sina.com.cn/s/blog_630c58cb0...
참고로 가상환경에서 python -c "import cx_Oracle"을 실행하면 문제 없이 실행 가능합니다. 하지만 pycharm에서 실행하면 문제가 발생합니다. 아직 문제를 찾고 있습니다