2012-11-05 17 views
11

Newbie tenta di utilizzare Python per eseguire alcune analisi del database. Continuo a ricevere l'errore: "errore: impossibile trovare un'installazione software Oracle" Durante l'installazione di CX_oracle (tramite easy_install)."errore: impossibile individuare un'installazione software Oracle" Quando si tenta di installare cx_Oracle

Il problema è che non ho oracle sul mio computer locale, sto cercando di usare python per connettersi al server Oracle principale. Ho installato un altro programma per fare questo (visualdb) e ho avuto un file .jar che ho usato come driver, ma non sono sicuro di come usarlo in questo caso.

Qualche suggerimento?

risposta

8

Non utilizzare easy_install o pip, in realtà non funzionano molto bene per l'installazione di cx_Oracle poiché ci sono un certo numero di dipendenze ambientali che gli script di installazione non impostano automaticamente. È necessario ottenere un driver client Oracle, il più veloce da trovare è il client istantaneo. Quindi, indirizza ORACLE_HOME e PATH nel percorso di installazione per i driver e installa cx_Oracle stesso. Dovresti essere bravo ad andare dopo.

vedere: easy_install cx_Oracle (python package) on Windows

La domanda riguarda le finestre, ma la risposta include informazioni su * nix.

2

ho installato cx_Oracle, ma ho anche dovuto installare un client Oracle di usarlo (il modulo cx_Oracle è solo un modo comune e divinatorio per interfacciarsi con il client Oracle in Python).

Quindi è necessario impostare la variabile ORACLE_HOME nella cartella del client Oracle (su Unix: tramite una shell, ad esempio, su Windows: creare una nuova variabile se non esiste nelle variabili di Ambiente del Pannello di configurazione). La cartella $ORACLE_HOME/network/admin (%ORACLE_HOME%\network\admin su Windows) è il luogo in cui inserire il file tnsnames.ora.

1

Ho ricevuto questo messaggio quando stavo cercando di installare la versione a 32 bit pur avendo installato il client Oracle a 64 bit.

Che cosa ha funzionato per me: reinstallato python con 64 bit (aveva 32 per qualche motivo), installato cx_Oracle (versione a 64 bit) con il programma di installazione di Windows e funzionava perfettamente.

1

Ho seguito queste istruzioni link e ha funzionato per me.

Scarica Oracle Basic/SDK da:

Oracle Instant Client Basic

Oracle Instant Client SDK

mkdir /Users/<username_here>/oracle 
mv /Users/<username_here>/Downloads/instantclient-*   
/Users/<username_here>/oracle 
cd /Users/<username_here>/oracle 
unzip instantclient-basic-macos.x64-11.2.0.3.0.zip 
unzip instantclient-sdk-macos.x64-11.2.0.3.0.zip 
cd instantclient_11_2/sdk 
unzip ottclasses.zip 
cd .. 
cp -R ./sdk/* . 
cp -R ./sdk/include/* . 
ln -s libclntsh.dylib.11.1 libclntsh.dylib 
ln -s libocci.dylib.11.1 libocci.dylib 
vim ~/.bash_profile (and below to bash_profile) 

    export ORACLE_HOME=/Users/<username_here>/oracle/instantclient_11_2 
    export DYLD_LIBRARY_PATH=$ORACLE_HOME 
    export LD_LIBRARY_PATH=$ORACLE_HOME 

pip install cx_Oracle 

Dopo questo se si ottiene un errore come:

1): Biblioteca non caricato:
/ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1

bisogna:

sudo mkdir -p /ade/b/3071542110/oracle/rdbms/lib/ 
cd /ade/b/3071542110/oracle/rdbms/lib/ 
sudo ln -s /opt/oracle/instantclient/libclntsh.dylib.11.1 libclntsh.dylib.11.1 
0

Installare Oracle Client

  1. Scarica Oracle Client: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    Esempio: oracle-instantclient12.2-base-12.2.0.1.0 -1.x86_64.rpm

  2. Installare Alien:

    sudo apt-get install alien

  3. installare l'RPM nel sistema Ubuntu:

    sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

  4. Aggiungi alle variabili di ambiente

    vim ~/.bashrc export ORACLE_HOME=/usr/lib/oracle/12.2/client64/lib/ export LD_RUN_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_RUN_PATH source ~/.bashrc sudo ln -s /usr/lib/oracle/12.2/client64 $ORACLE_HOME/include

Fina lly

pip install cx-Oracle

Problemi correlati