首先声明,本文是在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. android屏蔽系统锁屏的办法

    最近在开发一个第三方锁屏,使用中需要屏蔽系统锁屏,故代码如下: 在第三方锁屏的服务中onCreate()方法中(第三方锁屏服务启动时关闭一次系统锁屏服务即可) KeyguardManager mKey ...

  2. Elasticsearch 5.4.3实战--Java API调用:搜索建议

    通常的搜索引擎,都会根据用户的输入,实时给予匹配的提示. 那么这个功能在elasticsearch中如何实现呢? Elasticsearch里设计了4种类别的Suggester,分别是: Term S ...

  3. mysql 二进包在linux下安装过程

    cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r groupadd mysql和useradd -r -g mysql mysql 进入安 ...

  4. Linux网络 - 数据包的接收过程【转】

    转自:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后 ...

  5. html5 - Storage 本地存储

    Storage的解释 http://www.w3school.com.cn/html5/html_5_webstorage.asp 简单的理解就是: Storage 有两种: 1.localStora ...

  6. Struts2框架下的文件上传文件类型、名称约定

    Struts2框架下的文件上传机制:1.通过multipart/form-data form提交文件到服务器2.文件名是通过什么地方设置的?在strust2的FileUploadInterceptor ...

  7. kafka manager安装配置和使用

    kafka manager安装配置和使用 .安装yum源 curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintra ...

  8. MariaDB主从备份记录

    一.预期效果: 环境: centos 6.5   mariadb 10.0.14 (mysql -V) 主服务器:192.168.5.206   从服务器:192.168.5.207   主服务器数据 ...

  9. HDU 1074 (DP + 状态压缩)

    题意: 给你N个课程, 每个课程有结束的时间 , 和完成这门课程需要的时间 超过课程结束ed时间,每一天就要花费 1点绩点: 然后要求你安排如何做课程使得花费的绩点最少 (看了博客后才发现状态压缩很⑥ ...

  10. layui框架中关于table方法级渲染和自动化渲染之间的区别简单介绍

    方法级渲染: <table class="layui-hide" id="LAY_table_user" lay-filter="user&qu ...