导入Python时cx_Oracle问题

3 投票
2 回答
3811 浏览
提问于 2025-04-16 01:06

我正在尝试在一个运行Linux RHEL x86_64的Apache服务器上运行Python。

我安装并配置了Python2.5和Apache之后,顺利地通过一个.rpm文件安装了Oracle Instant Client(基础版和SDK)。

oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm

我设置了环境变量。

export ORACLE_HOME=/appl/paths/instantclient_10_2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

然后我也通过一个.rpm文件安装了cx_Oracle,过程同样没有问题。

cx_Oracle-5.0.3-10g-unicode-py25-1.x86_64.rpm

但是当我在Python中尝试导入cx_Oracle时,出现了错误信息。

Python 2.5.2 (r252:60911, Jul  1 2010, 17:47:36)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /appl/paths/python2.5/site-packages/cx_Oracle.so: undefined symbol: OCIDBShutdown

我在网上搜索答案,但没有找到解决办法。有没有什么建议?

2 个回答

0

我通过安装一个旧版本的cx_Oracle(4.3.1,而不是5.1.2)解决了同样的问题。这个信息留着以后参考。

1

问题出在 ORACLE_HOME 这个设置上,里面有个拼写错误。

撰写回答