cx_Oracle ImportError原因:找不到图像

时间:2016-12-24 04:59:52

标签: python python-3.x cx-oracle

尝试运行使用cx_Oracle的脚本时,我获得ImportError

./runtests.py <args here>

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/smeatonj/Development/.virtualenvs/djangopy3/lib/python3.5/site-packages/cx_Oracle.cpython-35m-darwin.so, 2): Library not loaded: @rpath/libclntsh.dylib.12.1
  Referenced from: /Users/smeatonj/Development/.virtualenvs/djangopy3/lib/python3.5/site-packages/cx_Oracle.cpython-35m-darwin.so
  Reason: image not found

其他地方的建议建议我导出LD_LIBRARY_PATH。当我打开python shell并尝试导入cx_Oracle时,它工作正常。

1 个答案:

答案 0 :(得分:0)

问题是脚本的前缀是:

#!/usr/bin/env python
import cx_Oracle

我认为这会阻止shell使用LD_LIBRARY_PATH。解决方法是直接用python执行脚本:

python runtests.py

如果有人知道更多信息,我很乐意根据LD_LIBRARY_PATH的其他信息编辑此答案。