OS X 中 PyDev 和外部库的问题

2024-01-03

我已经在 OS X 10.6.3 下的 Eclipse (3.5.1) 中成功安装了最新版本的 PyDev,使用 python 2.6.1
我在使已安装的库正常工作时遇到了麻烦。
例如,我正在尝试使用 cx_Oracle 库,如果从使用某些文本编辑器创建的简单脚本的 python 解释器调用,该库可以完美工作。
但我无法让它在 Eclipse 中工作:我有一小段代码:

import cx_Oracle
conn = cx_Oracle.connect(CONN_STRING)
sql = "select field from mytable"
cursor = conn.cursor()
cursor.execute(sql)
for row in cursor:
    field = row[0]
    print field

如果我从 Eclipse 执行它,我会收到以下错误:

import cx_Oracle
  File "build/bdist.macosx-10.6-universal/egg/cx_Oracle.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/cx_Oracle.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so, 2): Library not loaded: /b/227/rdbms/lib/libclntsh.dylib.10.1
  Referenced from: /Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so
  Reason: no suitable image found.  Did find:
    /Users/dave/lib/libclntsh.dylib.10.1: mach-o, but wrong architecture

相同的代码片段在 python shell 中完美运行

我已经在 Eclipse 中的首选项 -> PyDev --> Interpreter - Python 中配置了解释器,使用“自动配置”选项并选择找到的所有库。

我在这里做错了什么?

编辑:启动

file /Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so

从命令行告诉我们:

/Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so: Mach-O universal binary with 3 architectures
/Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so (for architecture i386):  Mach-O bundle i386
/Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so (for architecture ppc7400):   Mach-O bundle ppc
/Users/dave/.python-eggs/cx_Oracle-5.0.3-py2.6-macosx-10.6-universal.egg-tmp/cx_Oracle.so (for architecture x86_64):    Mach-O 64-bit bundle x86_64

在 Eclipse 中,在“PyDev”、解释器 – Python(或您正在使用的任何一个)下设置以下“环境变量”。

  1. ORACLE_HOME=[您的安装路径]/instantclient_10_2
  2. LD_LIBRARY_PATH=$ORACLE_HOME
  3. DYLD_LIBRARY_PATH=$ORACLE_HOME

这对我有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OS X 中 PyDev 和外部库的问题 的相关文章

随机推荐