cx_Oracle no Ubuntu: distutils.errors.DistutilsSetupError: não é possível localizar uma instalação de software Oracle

4

Eu tento instalar dependências python para o projeto django sdu.edu.kz. Este projeto usa o cx-Oracle. Quando eu tento:

./install_python_dependencies.sh install

Instala com sucesso todos os módulos, exceto um. O módulo do cx-Oracle. No entanto, instalei o programa cx-Oracle no meu computador.

Imprime o erro:

Collecting cx-oracle==5.2 (from -r requirements/base.txt (line 82))
  Using cached cx_Oracle-5.2.tar.gz
   Complete output from command python setup.py egg_info:
   Traceback (most recent call last):
     File "<string>", line 1, in <module>
     File "/tmp/pip-build-RP7c9i/cx-oracle/setup.py", line 170, in <module>
       raise DistutilsSetupError("cannot locate an Oracle software " \
   distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation

   ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip build-RP7c9i/cx-oracle/

Como localizar uma instalação de software Oracle? Alguma ideia? Por favor, ajude

    
por Zhunissali Shanabek 10.11.2016 / 07:30

1 resposta

3

Para o Oracle 12.x, cx_Oracle ainda não está disponível. Então, precisamos baixar o cliente instantâneo com a versão 11.x.

Acesse o link e aceite o contrato de licença.

Em seguida, baixe os arquivos zip com nomes abaixo

  • instantclient-sdk-linux.x64-11.2.0.4.0.zip
  • instantclient-basic-linux.x64-11.2.0.4.0.zip

E descompacte-os com o comando unzip

unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip

Ambos serão extraídos em um diretório comum chamado "instantclient_11_2". Em seguida, adicione isso ao PATH com os comandos abaixo.

export ORACLE_HOME=/path-to_this/instantclient_11_2
cd $ORACLE_HOME
ln -s libclntsh.so.11.1   libclntsh.so

Abra / etc / profile ou .bashrc e as seguintes entradas.

export ORACLE_HOME=/location/of/your/files/instantclient_11_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

faça source ~/.bashrc ou source /etc/profile

E instale esses pacotes

sudo apt-get install build-essential unzip python-dev libaio-dev

depois disso use pip ou pip3 de acordo com sua versão do Python e depois instale-o

pip3 install cx_Oracle

e tente carregar o módulo cx_Oracle no interpretador Python.

Espero que isso ajude.

O crédito é válido aqui: link

Nota: Eu tentei isso na minha instalação do Ubuntu 16.04, deve funcionar para você.

    
por Ten-Coin 20.11.2016 / 06:18