首先声明,本文是在Linux 环境下进行安装。不涉及Windows 版安装。

一、 了解cx_Oracle 安装要求

要python 通过cx_Oracle 6 操作Oracle 数据库,以下几个条件是必须的:

  • Python 2.7 或者3.4 及更高版本。
  • Oracle 客户端库文件. 我们可以通过安装Oracle 客户端或者oracle 完整版软件来获得。Oracle 的版本最低要求是11.2 (目前Oracle 最高版本是12.2)当前时间2018-02-04。
  • Oracle 服务端。

  这里我们需要注意的是不同版本的Oracle 客户端(包含完整安装Oracle 软件,以下统称Oracle 客户端,为什么有这种称呼的区别是因为我们可以通过下载完整版Oracle database 或者下载oracle client 。) 支持的Oracle数据库版本是不一样的:

  

Oracle 客户端版本 9.2 10.1 10.2 11.1 11.2 12.1 12.2
11.2
12.1    
12.2        

  所以,客户端版本并不是越新越好。要先确定好Oracle 数据库的版本。选择支持该版本数据库的客户端。不然安装好后,python 无法连接数据库,会泪奔的。

二、 安装cx_Oracle

  2.1 PyPI 方式安装

  通过 PyPI 安装 的命令非常简单,但是要求连网。如果网络不通,是无法通过这种方式进行安装的。

  

# python
python3 -m pip install cx_Oracle --upgrade
# python2
python -m pip install cx_Oracle --upgrade

  安装示例如下:

  

  

  2.2 源码安装

    源码安装其实也不麻烦。只不过所花费的时间非常长,要相当有耐心。

    首先打开 PyPI 找到适合自己的版本。并下载 ,如下图中红框中的连接。

    

     将下载好的文件cx_Oracle-6.1.tar.gz 上传至Linux 服务器(上传方式很多,ftp 命令,带ftp 功能的软件比如secureCRT,xshell , ftp 软件filezilla sz/rz 命令等,不一一详细说明使用方法)。

  解压:

tar -xzvf ./cx_Oracle-6.1.tar.gz

 

  解压后,得到一个名为 cx_Oracle-6.1 的路径 ,可以大概了解下解压后的内容:

  

   这里要注意下,解压完成后,该路径里的文件不一定有执行权限,为了方便后面的安装操作,最好执行下如下命令:

chmod -R 777 ./cx_Oracle-6.1 

 

 我们进入这个路径后,即可执行安装命令进行安装:

# python3
python3 setup.py build install
#python
python setup.py build install

  后面,你可以去喝个咖啡,泡个妞儿~再回来

三、 配置环境变量

  安装完cx_Oracle ,还需要配置下环境变量,使python 能正常去调用oracle 库文件,这样才能使cx_Oracle 在python 的调用下正常连接Oracle 数据库

  windows 里需要配置PATH 环境变量,配置的方法这里不再粘贴图例,只写出如何找到环境变量配置的页面: 屏幕左下角“开始”-->"计算机”--> “属性”--> "高级系统设置“--> "环境变量”。相信难不到你的。

  Linux 操作系统里,需要在操作用户下的.bash_profile/.bashrc/.kshrc 等其中一个文件 ,一般配置.bash_profile ,在里面添加LD_LIBRARY_PATH 或者在该环境变量中添加Oracle 客户端库文件路径 。比如我测试环境中的配置:

  

安装cx_Oracle 6的更多相关文章

  1. 使用pip安装 cx_Oracle 模块

    1. 系统环境,linux, python3.5, pip以下命令的执行均使用root用户. 2. 执行 pip install cx_Oracle出错,提示不能定位Oracle的安装.出现该问题的原 ...

  2. Windows 环境下于虚拟环境安装源码安装 cx_oracle

    安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...

  3. Windows 环境下于虚拟环境中源码安装 cx_oracle

    安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...

  4. python 安装cx_Oracle模块, MySQLdb模块, Tornado

    一,想访问远程Oracle数据库,本地又不想安装几百兆的Oracle Client(也木有root权限),安装python的cx_Oralce 模块需要依赖Oracle Instant Client ...

  5. Python安装cx_Oracle与操作数据测试小结

    这里简单总结一下Python操作Oracle数据库这方面的相关知识.只是简单的整理一下之前的实验和笔记.这里的测试服务器为CentOS Linux release 7.5. 个人实验.测试.采集数据的 ...

  6. Python 安装cx_Oracle模块

    1.Python安装cx_Oracle模块需要安装Oracle,并在环境变量中添加Oracle的路径. 2.没有安装Oracle的需要下载一个oci.dll的文件,并把文件的路径添加到path中. 如 ...

  7. 安装 cx_Oracle

    1.下载 oracle client instant  和  sdk,  全部解压到 /opt/instantclient_11_2/ http://www.oracle.com/technetwor ...

  8. ubuntu 下安装 cx_Oracle库

    1.下载3个zip包: 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.htm ...

  9. 安装cx_Oracle 遇到的杂项问题

    1. 解决方法: 将xc用户添加进sudousers 2.安装VMware Tools 更新 http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2F ...

随机推荐

  1. Django学习手册 - ORM 数据创建/表操作 汇总

    ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它 ...

  2. php编程 之 php基础一

    1,语法 PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器.PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码 比如下面这个:这是一个简单的 PHP 文件实例,它可以向浏览器 ...

  3. 【转载】奇异值分解(SVD)计算过程示例

    原文链接:奇异值分解(SVD)的计算方法 奇异值分解是线性代数中一种重要的矩阵分解方法,这篇文章通过一个具体的例子来说明如何对一个矩阵A进行奇异值分解. 首先,对于一个m*n的矩阵,如果存在正交矩阵U ...

  4. Switch 中参数的范围探讨

    switch 语句必须遵循下面的规则: switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举 ...

  5. 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考

    最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的 ...

  6. ubuntu 安装source insight3.5

    版本 ubuntu 16.04 在linux下安装 windows下程序,需要安装wine, wine 是 "“Wine Is Not an Emulator" 缩写. 1) 安装 ...

  7. openwrt页面显示问题修改

    页面显示错误如下: 在不应该的位置显示了这个,查看配置文件: config igmpproxy        option quickleave '1' config phyint         o ...

  8. MySQL MyISAM引擎转换为InnoDB操作记录

    进入mysql命令行模式: # mysql -uroot -ppwd 1.查看mysql提供什么存储引擎: mysql> show engines; 2.查看mysql当前提供的默认存储引擎: ...

  9. python-迭代器、生成器、内置函数及面向过程编程

    一.迭代器 迭代器是迭代取值的工具,迭代是一个重复的过程,每一次重复都是基于上一次的结果而来的. 为什么要用迭代器呢? 1.可以不依赖索引取值 2.同一时刻在内存中只有一个值,不会过多的占用内存 如何 ...

  10. 【进阶1-5期】JavaScript深入之4类常见内存泄漏及如何避免(转)

    这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://mp.weixin.qq.com/s/RZ8Lpkyk8lz6z5H8Q8SiEQ 垃圾回收算法 常用垃圾回收算法叫做**标记清除 ...