尝试运行使用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
时,它工作正常。
答案 0 :(得分:0)
问题是脚本的前缀是:
#!/usr/bin/env python
import cx_Oracle
我认为这会阻止shell使用LD_LIBRARY_PATH
。解决方法是直接用python执行脚本:
python runtests.py
如果有人知道更多信息,我很乐意根据LD_LIBRARY_PATH
的其他信息编辑此答案。