Оболочке IDLE не удалось найти изображение для cx_Oracle (Причина: изображение не найдено)

Здравствуйте! Я успешно установил cx_Oracle на Mac OS X Yosemite 10.10 и могу запрашивать свою базу данных оракула через терминал Mac, используя Python 2.7.11 в терминале.

Единственная проблема заключается в том, что приложение оболочки IDLE не может импортировать cx_Oracle и отображает следующую ошибку:

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 12:54:16) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> import cx_Oracle

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import cx_Oracle
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cx_Oracle.so, 2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cx_Oracle.so
  Reason: image not found

Ниже показано, что я вижу в своем терминале Mac (затем я могу приступить к успешному запросу базы данных):

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 12:54:16) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> 

Что мне не хватает в IDLE, который не позволяет импортировать cx_Oracle?


person Krusaderjake    schedule 07.02.2016    source источник
comment
Загадочный. Вы прекрасно показали, что каждый раз запускаете один и тот же двоичный файл Python. Вы запускали IDLE со значком? Вы пытались запустить его из командной строки терминала с помощью python -m idlelib.idle? (Это может привести к дополнительным сообщениям об ошибках.) Запускали ли вы что-нибудь еще между двумя попытками импорта?   -  person Terry Jan Reedy    schedule 08.02.2016
comment
@TerryJanReedy Я запускал IDLE со значком. Этот значок был прикреплен к моему доку. запуск команды: python -m idlelib.idle в терминале Mac сработал. Я выполнил команду, а затем выполнил import cx_Oracle и увидел, что cx_Oracle успешно импортирован. Спасибо за вашу помощь. Полагаю, я думал, что открытие Python 2.7.11 с помощью значка позволило бы мне по-прежнему import cx_Oracle   -  person Krusaderjake    schedule 08.02.2016
comment
@TerryJanReedy, если вы отправите свой ответ, я приму его.   -  person Krusaderjake    schedule 08.02.2016


Ответы (1)


Вместо того, чтобы запускать IDLE из закрепленного значка, запустите его с помощью python -m idlelib.idle. (Для 3.x .idle не нужен.) Я не знаю, почему в данном случае это работает лучше, но я знаю, что запуск из значков иногда скрывает необходимую информацию, такую ​​как исполняемый файл, который будет запущен, текущий рабочий каталог python запустится, аргументы запуска и некоторые сообщения об ошибках.

person Terry Jan Reedy    schedule 07.02.2016