加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

easy_install cx_Oracle(python包)在Windows上

发布时间:2020-12-12 15:13:55 所属栏目:百科 来源:网络整理
导读:所以我发现 Help installing cx_Oracle,但仍然卡住了.我从oracle下载了最新的instantclient,并将ORACLE_HOME设置为提取的文件的位置(两者都直接和一个bin文件夹在ORACLE_HOME值和文件之间),但是easy_install在运行setup.py时会弹出一个错误,定位Oracle包含文
所以我发现 Help installing cx_Oracle,但仍然卡住了.我从oracle下载了最新的instantclient,并将ORACLE_HOME设置为提取的文件的位置(两者都直接和一个bin文件夹在ORACLE_HOME值和文件之间),但是easy_install在运行setup.py时会弹出一个错误,定位Oracle包含文件.我确实注意到,只有11g的dll在文件夹中,我需要所有3个驱动程序存在安装完成?如果是这样,我甚至可以得到他们? 老实说,从他们拥有的 binary installers之一,而不是从源代码安装cx_Oracle更是容易一些.

* nix的HOWTO:

>浏览至Instant Client for Linux x86 download page.
>下载适合您架构(32或64位)的最新版本的基本sqlplus和sdk软件包:

> oracle-instantclient< version> -basic-< version_full>.< arch> .rpm
> oracle-instantclient< version> -sqlplus-< version_full>.< arch> .rpm
> oracle-instantclient< version> -devel-< version_full>.< arch> .rpm.

>使用外来人员安装RPM.例如,在撰写本文时:

$sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

>添加必要的环境变量(我个人把它放在/ etc / environment然后注销/重新加载env):

ORACLE_HOME=/usr/lib/oracle/<version>/client64/lib/
LD_LIBRARY_PATH=/usr/lib/oracle/<version>/client64/lib/

> Fix oracle’s includes:

$sudo ln -s /usr/include/oracle/<version>/client $ORACLE_HOME/include  # for 32bits arch,OR
$sudo ln -s /usr/include/oracle/<version>/client64 $ORACLE_HOME/include  # for 64bits arch

>创建/etc/ld.so.conf.d/oracle-instantclientu0026lt;versionu0026gt;-basic.conf和/etc/ld.so.conf.d/oracle.conf(对于更新的版本,至少自12.1)包含:

/lib  
  /usr/lib/oracle/<version>/client/lib  ; for 32bits arch,OR
  /usr/lib/oracle/<version>/client64/lib  ; for 64bits arch

>重新加载ldconfig缓存(如果你想要一些verbose,使用-v标志):

$sudo ldconfig

您可能需要安装libaio1.

HOWTO安装cx_Oracle

假设我们已经安装了Oracle Instant Client 10,则可以使用不同的安装方式cx_Oracle:

>安装pip:$pip install cx_oracle(仅限linux)
>从cx_oracle PyPI站点下载installer / .tar.gz文件

旧版本(版本小于5.1.2是.msi和.rpm文件)可以从here下载.使用外来人员安装RPM.例如,在撰写本文时:
$sudo alien -i cx_Oracle-5.0-10g-py25-1.x86.rpm

要测试,python -c’import cx_Oracle; print cx_Oracle’应该返回带有其版本的模块.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读