Доброго времени суток господа коллеги. Не так давно мне понадобилось работать с базой данных Oracle из под python в Linux, решил поделиться установкой модуля для Линя к Ораклу.

Установка cx_Oracle 5.1.3 в Ubuntu 14.04  — oracle-instantclient12.1

1. Для начала нам необходимо скачать самого клиента с сайта оракла from http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html:

Берем следующие пакеты (кстати есть в интернете инструкции где собирают из исходников упакованных в .zip, откровенно  данный вариант проще и проверен)
oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm
oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm

2. Так как на сайте ораклов преимущественно RPM пакеты нам необходимо их конвертировать в .deb
$ sudo apt-get install alien
$ sudo alien -d *.rpm

3. Установить соответственно готовые пакеты
$ sudo dpkg -i *.deb

4. Создать  ORACLE_HOME environment variable:
Создайте файл:   например sudo nano /etc/ld.so.conf.d/oracle.conf  и добавьте строку указанную ниже
/usr/lib/oracle/12.1/client64/lib

Теперь выполняем следующие команды:

$ export ORACLE_HOME=/usr/lib/oracle/12.1/client64
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ sudo ldconfig

5.Скачаиваем cx_Oracle tar с PyPi
https://pypi.python.org/packages/source/c/cx_Oracle/cx_Oracle-5.1.3.tar.gz#md5=cd6ff16559cbc9c20087ec812c7092ab

распаковываем и переходим в каталог:
$ tar -xzvf cx_Oracle-5.1.3.tar.gz
$ cd cx_Oracle-5.1.3

Теперь необходимо внести некоторые изменения в конфиг файлик:
6. Начинаем с 123 строки cx_Oracle-5.1.3/setup.py,:

# try to determine the Oracle home
#userOracleHome = os.environ.get(«ORACLE_HOME»)
userOracleHome = «/usr/lib/oracle/12.1/client64»
if userOracleHome is not None:
    if not CheckOracleHome(userOracleHome):
        messageFormat = «Oracle home (%s) does not refer to an » \
                «9i, 10g, 11g or 12c installation.»
        raise DistutilsSetupError(messageFormat % userOracleHome)
else:
    for path in os.environ[«PATH»].split(os.pathsep):
        if CheckOracleHome(path):
            break
    if oracleHome is None:
        #~ raise DistutilsSetupError(«cannot locate an Oracle software » \
                #~ «installation
        oracleHome = «/usr/lib/oracle/12.1/client64»

7. Собираем и устанавливаем cx_Oracle 5.1.3:
$ python setup.py build
$ sudo python setup.py install

8. Проверяем:
$ python
> import cx_Oracle

Надеемся вам пригодится данная информация ! Оставайтесь с нами.