在python腳本中導入cx_Oracle失敗。用MacOSX導入cx_Oracle(python)
我安裝了cx_Oracle,使用「pip install cx_oracle」 - 工作正常,報告已安裝。
現在,當我嘗試:
import cx_Oracle
我收到以下錯誤
Traceback (most recent call last):
File "reader.py", line 9, in <module>
import cx_Oracle
ImportError: dlopen(/Library/Python/2.7/site-packages/cx_Oracle.so, 2): Symbol not found: _OCIAttrGet
Referenced from: /Library/Python/2.7/site-packages/cx_Oracle.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/cx_Oracle.so
其他信息:
Python版本2.7/MAC OS 10.7.2(獅子)
$ python
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Oracle 10.2
$ sqlplus -version
SQL*Plus: Release 10.2.0.4.0 - Production
另外,我沒有/ bin目錄中的所有在我的ORACLE_HOME文件夾,只安裝了即時客戶端和SDK我有。
ox_Oracle
$ pip freeze
PyRSS2Gen==1.0.0
...
cx-Oracle==5.1.1
(發現了很多在獲取安裝cx_Oracle問題,但沒有在這 - 感謝)
我可能擁有它,並會發布我自己的答案,如果它是真的。我正在查看setup.py腳本,並注意到它使用文件夾名稱來猜測版本。我在10.1文件夾中安裝了10.2,可能是這個問題。 – nycynik
好吧,我手動安裝CX_ORACLE而不是使用pip,現在我有一個不同的,但基本相同的問題。文件「reader.py」,第9行,在 import cx_Oracle 文件「build/bdist.macosx-10.7-intel/egg/cx_Oracle.py」,第7行,在 文件「build/bdist.macosx-10.7 -intel/egg/cx_Oracle.py「,第6行,在__bootstrap__ ImportError:dlopen(/Users/me/.python-eggs/cx_Oracle-5.1.1-py2.7-macosx-10.7-intel.egg-tmp/ cx_Oracle.so,2):找不到符號:_OCIAttrGet –
nycynik