Ошибка импорта Python cx_Oracle

Я пытаюсь установить cx_Oracle, чтобы использовать Django inspectdb в существующей базе данных Oracle для автоматического создания models.py. Пока это было очень тяжело. Я запускаю виртуальную машину с 64-битной Fedora 14 и Python 2.7 и следил за набором страниц, найденных в Google, чтобы установить его с помощью 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

Я никогда не видел этого раньше и не знаю, что делать. Любая помощь будет очень высоко ценится. Заранее спасибо,

Стефано


person Stefano Tondo    schedule 03.03.2011    source источник
comment
Не уверен в этом, но можете ли вы попробовать загрузить RPM cx_Oracle напрямую и убедиться, что вы выбрали 64-битную версию. Сначала удалите текущую установку cx_Oracle.   -  person tshepang    schedule 03.03.2011


Ответы (3)


Это SELinux, система безопасности Fedora блокировала его, а я не заметил! Установка прошла нормально и сейчас работает. Извините и спасибо всем.

person Stefano Tondo    schedule 04.03.2011

Это произошло со мной давным-давно

Существует два набора библиотек для 32-битной и 64-битной версии, просто скопируйте эти файлы «*.so» в соответствующие каталоги.

Обратите внимание, что нужно скопировать более 1 файла [около 5]. просто используйте команду find, чтобы найти текущее местоположение файла libclntsh.so и скопировать его в соответствующие каталоги lib. вы можете найти остальные файлы, так как одно и то же исключение появляется для всего.

person Anuj    schedule 03.03.2011

Вы забыли добавить путь InstantClient в ldconfig; добавление решит эту проблему.

person Aragon    schedule 06.10.2011