【问题标题】:installation of cx_oracle failscx_oracle 安装失败
【发布时间】:2014-06-17 02:17:42
【问题描述】:

我正在尝试在我的 Mac Mavericks 上安装 cx_Oracle。遇到以下错误。请帮忙。

顺序是:

sudo easy_install cx_Oracle
...
Processing cx_Oracle-5.1.2.tar.gz
Writing /tmp/easy_install-eFOU_a/cx_Oracle-5.1.2/setup.cfg
Running cx_Oracle-5.1.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-eFOU_a/cx_Oracle-5.1.2/egg-dist-tmp-g2eCKt
ld: file not found: crt3.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: Setup script exited with error: command '/usr/bin/clang' failed with exit status 1

【问题讨论】:

    标签: macos cx-oracle


    【解决方案1】:

    我没有深入挖掘,但我找到了一些解决此问题的方法。 我从 https://bitbucket.org/anthony_tuininga/cx_oracle 克隆了 repo 并运行了

    python setup.py build
    

    出现错误:

    /usr/bin/clang -bundle -undefined dynamic_lookup -L/usr/local/opt/readline/lib build/temp.macosx-10.4-x86_64-2.7-11g/cx_Oracle.o -L/opt/instantclient_11_2 -lclntsh -o build/lib.macosx-10.4-x86_64-2.7-11g/cx_Oracle.so -shared-libgcc
    ld: file not found: crt3.o
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    error: command '/usr/bin/clang' failed with exit status 1
    

    之后我只是从输出中复制并粘贴命令

    /usr/bin/clang -bundle -undefined dynamic_lookup -L/usr/local/opt/readline/lib build/temp.macosx-10.4-x86_64-2.7-11g/cx_Oracle.o -L/opt/instantclient_11_2 -lclntsh -o build/lib.macosx-10.4-x86_64-2.7-11g/cx_Oracle.so -shared-libgcc
    

    然后跑了

    python setup.py install
    

    突然间,egg 已成功安装。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:
      1. 先从oracle站点下载oracle mac客户端文件,下面两个

      Instant Client Package - Basic:运行 OCI、OCCI 所需的所有文件

      Instant Client Package - SQLPlus:附加库和可执行文件 使用 Instant Client 运行 SQLPlus

      1. 然后将所有文件解压缩并放入单个文件夹。 现在将该路径指向 mac 的“LD LIBRARY PATH”作为两个环境变量导出,如下所示

      出口 DYLD_LIBRARY_PATH=/Users/myUserName/Desktop/ORA_CLIENT/oracle_client 导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /Users/myUserName/Desktop/ORA_CLIENT/oracle_client

      1. 现在下载cx_oracle源代码tar球,解压到源文件夹,运行

      pip setup.py 安装

      1. 会出现以下错误

      ld:找不到文件:crt3.o

      1. 现在将 gcc bundle 命令复制到命令行运行输出上方(示例粘贴在下面)

      gcc -bundle -undefined dynamic_lookup 构建/temp.macosx-10.4-x86_64-2.7-11g/cx_Oracle.o -L/Users/myUserName/Desktop/ORA_CLIENT/oracle_client -lclntsh -o build/lib.macosx-10.4-x86_64-2.7-11g/cx_Oracle.so -shared-libgcc

      1. 将其粘贴到命令行中,按回车键。它会通过。现在运行“python setup.py install”。会搞定的

      【讨论】:

        猜你喜欢
        • 2019-03-14
        • 2011-05-17
        • 2010-12-15
        • 1970-01-01
        • 2021-02-28
        • 2018-02-14
        • 1970-01-01
        • 2013-02-24
        • 1970-01-01
        相关资源
        最近更新 更多