2016-05-09 3 views
0

私は非常に奇妙な問題を抱えています。 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 

を言って吹きます。

+0

cx_Oracleがインストールされている仮想環境**からpython **を実行していますか? – hd1

+0

はい。それはcx_Oracleの細かいものをインポートします – Shawn

答えて

1

は、Oracleインスタントクライアントのインストールを行うために、このページの下部にある指示に従ってください:

http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

あなたはまた、DYLD_LIBRARY_PATHを設定したり、コマンドotool -Lとinstall_name_toolを使用して物事を調整する必要があります。

+0

私は〜/ libについての追加の部分を除いて何をしたかと同じそれらの指示を試みました。喜びはありません。私の質問に記載されているRubyスクリプトは、otool -Lとinstall_name_toolを使ってものを調整します。とにかく、ありがとう。 – Shawn

+0

ようこそ。私はMacの専門家ではありませんが、私はMacにアクセスでき、これらの手順を自分で試すことができます。私もDjangoに精通していますので、複製できるかどうかをお知らせします。 –

関連する問題