python 导入 cx_Oracle 错误
我正在尝试安装 cx_Oracle,以便在现有的 Oracle 数据库上使用 Django 的 inspectdb 功能,自动生成 models.py 文件。到目前为止,这个过程非常困难。我在一台运行 Fedora 14 64位系统的虚拟机上,使用 Python 2.7,并根据谷歌找到的一些页面,混合着尝试用 sudo -E easy_install cx_Oracle 来安装它。
当我在终端中启动 Python,并尝试导入 cx_Oracle 来测试安装时,我得到了这个错误:
>>> import cx_Oracle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libclntsh.so.11.1: cannot enable executable stack as shared object requires: Permission denied
我从来没有见过这个错误,也不知道该怎么处理。任何帮助都将非常感激。提前谢谢你,
Stefano
3 个回答
0
你忘了在ldconfig里添加instantclient的路径;加上这个路径就能解决这个问题。
0
这件事我很久以前遇到过。
有两组库文件,分别是32位和64位的。只需要把这些 "*.so" 文件复制到相应的文件夹里。
请注意,实际上需要复制的不止一个文件(我猜大约有5个)。你可以使用查找命令来找到你当前的 libclntsh.so 文件的位置,然后把它复制到对应的库文件夹里。其他的文件也可以找到,因为同样的错误会在所有文件中出现。
1
原来是SELinux这个Fedora的安全系统在阻止它,我没注意到!安装没问题,现在可以正常工作了。抱歉,感谢大家的帮助。