Найти - Пользователи
Полная версия: SQLAlchemy ошибка No module named 'cx_Oracle'
Начало » Базы данных » SQLAlchemy ошибка No module named 'cx_Oracle'
1
ant_sol
при попытке реализации кода

 import sqlalchemy as sql
e=sql.create_engine('oracle://user:password@host:port/sid')
e.connect()


получаю сообщение об ошибке ModuleNotFoundError: No module named ‘cx_Oracle’
в чем может быть проблема ?

PS у меня SQLAlchemy из пакета Анаконды и работаю я в jypiter notebook из-под windows
FishHook
ant_sol
Очевидно, что для работы с СУБД нужен провайдер соответствующего клиента. Чтобы работать с Ораклом, для питона есть пакет cx_Oracle. Алхимия, знает, что для оракла надо использовать cx_Oracle, она пытается это сделать, но у вас такого пакета на машине нет, поэтому и ошибка. Вопрос, почему его нет в зависимостях алхимии. Во-первых, потому что алхимия не знает заранее, с какой СУБД вы будете работать, ей пришлось бы тащить на вашу машину десятки свяких довольно тяжелых пакетов, которые вы никогда не будете использовать. Во-вторых, cx_Oracle вообще просто так не устанавливается, это не сугубо питоний код, это обвязка для бинарников из комплекта oracle instant client. То есть для того, чтобы можно было установить (при этом скомпилировав кучу сишников) cx_Oracle, на машине уже должен быть установлен instant client.
ant_sol
FishHook
ant_solОчевидно, что для работы с СУБД нужен провайдер соответствующего клиента. Чтобы работать с Ораклом, для питона есть пакет cx_Oracle. Алхимия, знает, что для оракла надо использовать cx_Oracle, она пытается это сделать, но у вас такого пакета на машине нет, поэтому и ошибка. Вопрос, почему его нет в зависимостях алхимии. Во-первых, потому что алхимия не знает заранее, с какой СУБД вы будете работать, ей пришлось бы тащить на вашу машину десятки свяких довольно тяжелых пакетов, которые вы никогда не будете использовать. Во-вторых, cx_Oracle вообще просто так не устанавливается, это не сугубо питоний код, это обвязка для бинарников из комплекта oracle instant client. То есть для того, чтобы можно было установить (при этом скомпилировав кучу сишников) cx_Oracle, на машине уже должен быть установлен instant client.

спасибо. установил cx_Oracle, однако теперь появилась ошибка:
DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library

Оракл на машине есть, разрядность его 64bit
windows тоже на 64bit

В чем может быть причина ошибки ?
FishHook
ant_sol
Оракл на машине есть, разрядность его 64bit
windows тоже на 64bit
Не важно, какая разрядность Оракла - клиент работает с СУБД по сети. Разрядность важна для компиляции, то есть вам нужно выяснить разрядность instant client.
Хотите совет? Не надо программировать на питоне из под винды, особенно с ораклом.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB