2012-11-05 203 views
11

新手在这里试图使用python来做一些数据库分析。我不断收到错误: “错误:找不到Oracle软件安装”安装CX_oracle时(通过easy_install)。“错误:无法找到Oracle软件安装”尝试安装cx_Oracle

问题是我没有在我的本地机器上的oracle,我试图用python连接到主oracle服务器。我已经设置了另一个程序来做到这一点(visualdb),我有一个.jar文件,我用作驱动程序,但我不知道如何在这种情况下使用它。

有什么建议吗?

回答

8

不要使用easy_install或pip,因为安装脚本没有自动设置,所以它们在安装cx_Oracle时并不能很好地工作,因为有许多环境依赖性。您需要获得一个oracle客户端驱动程序,其中最快的找到即时客户端。然后将ORACLE_HOME和PATH指向驱动程序的安装位置,然后安装cx_Oracle本身。之后你应该很好。

看到:easy_install cx_Oracle (python package) on Windows

的问题是有关Windows,但得到的答复包含在* nix信息。

2

我安装了cx_Oracle,但我还必须安装一个Oracle客户端才能使用它(cx_Oracle模块只是Python中与Oracle客户端接口的一种常见和pythonic方式)。因此您必须将变量ORACLE_HOME设置为您的Oracle客户机文件夹(例如,在Unix上:通过一个外壳;例如:在Windows上:如果在配置面板的环境变量中不存在,则创建一个新变量)。您的文件夹$ORACLE_HOME/network/admin(在Windows上为%ORACLE_HOME%\network\admin)是您要放置tnsnames.ora文件的位置。

1

我在安装64位Oracle客户端时试图安装32位版本时收到此消息。

对我有用:重新安装python 64位(由于某种原因有32),安装cx_Oracle(64位版本)与Windows安装程序,它的工作完美。

1

我跟着这link指示,它为我工作。

下载Oracle基本/从SDK:

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 

在此之后,如果你得到这样的错误:

1):库未加载:
/ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11。1

你必须:

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

安装Oracle客户端

  1. 下载Oracle客户端:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    例如:Oracle的instantclient12.2-基本-12.2.0.1.0 -1.x86_64.rpm

  2. Install外星人:

    sudo apt-get install alien

  3. 安装在Ubuntu系统中的RPM:

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

  4. 添加到环境变量

    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

菲娜lly

pip install cx-Oracle

相关问题