私は非常に奇妙な問題を抱えています。 this linkの手順に従って、Oracleインスタントクライアントとcx_Oracleをインストールしました。問題なくPythonでcx_Oracleをインポートできます。私はこれをvirtualenvでやったことがあります。DjangoはOS Xでcx_Oracleをインポートできませんが、Pythonは可能です
問題は、私は
./manage.py runserver
をしようとしたとき、私はcx_Oracle.soファイルが存在する場所を正確にそれはだ、もちろん
raise ImproperlyConfigured("Error loading cx_Oracle module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading cx_Oracle module:
dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so,
2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: image not found
を取得することです。
this SO questionが検索されましたが、Rubyスクリプトを実行すると、実際にPythonでcx_Oracleのインポートが中断され、djangoの問題は解決されません。代わりに、Pythonで直接かdjango環境でエラーが発生します。これをどうやって解決するのですか?私はdjangoでcx_Oracleをインポートできる必要があります!ありがとう!
ImportError: dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so,
2): Library not loaded: /Users/Shawn/Oracle/instantclient_11_2/
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: no suitable image found. Did find:
/Users/Shawn/Oracle/instantclient_11_2/: not a file
/Users/Shawn/Oracle/instantclient_11_2/: not a file
/usr/local/lib/: not a file
/usr/lib/: not a file
EDIT: 私は拭いて、私のvirtualenvのを再作成。私は、インスタントクライアントの実行ファイルと同じディレクトリで実行しなかったことを知った後、Rubyスクリプトを再試行しました。
@executable_path/...
to
/Users/shawn/Oracle/...
私のvirtualenvのpythonでcx_Oracleをインポートしようとしましたが、今回はエラーをスローする代わりに機能しました。残念ながら、私のジャンゴ・サーバを実行しようとすると、まだPythonはそれをインポートすることができますが、Djangoはできない理由を私は理解できない
Raise ImproperlyConfigured("Error loading cx_Oracle module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading cx_Oracle module: dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so, 2): Library not loaded: libclntsh.dylib.11.1
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: image not found
を言って吹きます。
cx_Oracleがインストールされている仮想環境**からpython **を実行していますか? – hd1
はい。それはcx_Oracleの細かいものをインポートします – Shawn