1

我对此发表另一个问题感到很抱歉,但是我通读的所有其他问题都以不一定适用或解决我的问题的解决方案结束。

我在 CentOS 6.2 上运行 Oracle。数据库已启动,sqlplus 连接正常。我正在使用 Python 3.2 和 Oracle 11.2.0.3

我找到并安装了包 cx_Oracle-5.1.1-11g-py32-1.x86_64.rpm 没有错误。

[paws@linux ~]$ ls -al /usr/lib/python3.2/site-packages
total 360
drwxr-xr-x. 2 root root   4096 May  2 12:04 .
drwxr-xr-x. 3 root root   4096 Apr 13 09:31 ..
-rw-r--r--. 1 root root    898 Oct  8  2011 cx_Oracle-5.1.1-py3.2.egg-info
-rwxr-xr-x. 1 root root 353356 Oct  8  2011 cx_Oracle.cpython-32mu.so
[paws@linux ~]$ 

但是,当尝试导入 cx_Oracle 时,我仍然收到导入错误。我已经检查了 PYTHONPATH 如下所示,并且有相应的目录:

[paws@linux ~]$ python
Python 3.2.2 (default, Apr 13 2012, 09:15:56) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] 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: No module named cx_Oracle
>>> import sys
>>> print (sys.path)
['', '/home/paws', '/usr/lib/python3.2/site-packages', '/usr/local/lib/python32.zip', '/usr/bin/Python-3.2.2/Lib', '/usr/bin/Python-3.2.2/Lib/plat-linux2', '/usr/bin/Python-3.2.2/build/lib.linux-x86_64-3.2', '/usr/local/lib/python3.2/site-packages']

还有什么我可以检查来解决这个问题吗?我在 Windows 上安装了 cx_Oracle 很多次都没有问题,但这是第一次在 linux 上,所以我一定缺少一些简单的东西。

非常感谢任何帮助。

4

1 回答 1

0

只是一个想法。我想知道您的版本标记文件是否有问题。

在 python 提示符下,输入时会得到什么:

>>>import sysconfig
>>>sysconfig.get_config_var('SO')

你应该得到: 'cpython-32mu.so'

如果没有,您可以尝试创建一个符号链接来指向它。

于 2012-05-04T15:25:14.957 回答