首先声明,本文是在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. MySql 在cmd下的学习笔记 —— 有关游标的操作(cursor)

    ---恢复内容开始--- cursor 指在1条sql,对应N条资源,取出资源的接口/句柄,就是游标 沿着游标,可以一次取出一行 对于游标,必须要先声明一下 fetch 会读取每一条记录,当没有时,会 ...

  2. 2017-2018-2 20165234 实验三 《Java面向对象程序设计》实验报告

    实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参考 http://www.cnblogs. ...

  3. ueditor取消文本编辑器的自动拉伸高度、宽度。

    1.首先引入富文本编辑器 <script type="text/javascript" src="<%=basePath%>js/ueditor/ued ...

  4. IntelliJ IDEA 导入eclipse项目包及附属包

    使用IntelliJ IDEA 工具导入eclipse项目包,并添加另外一个项目包为库文件 1.导入项目包1,如Demo1,File-->New--->Progect From Exist ...

  5. 鉴权完成后如何拿到SpringSocial的用户信息

    ⒈ package cn.coreqi.social.config; import org.springframework.beans.factory.annotation.Autowired; im ...

  6. Python-字符串的常用操作

    name = "my name is irving and i am 22 years old!" #开头字母大写 print(name.capitalize()) #统计某字符个 ...

  7. 3.2. 使​​​​​​​用​​​​​​​ CPUFREQ 调​​​​​​​节​​​​​​​器​​​​​​​【转】

    转自:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/6/html/power_management_gu ...

  8. HTTP协议03-http特点及请求方式

    无状态: HTTP是一种不保存状态,既无状态协议.HTTP自身不对请求和响应之间的通信状态进行保存,也就是说不做持久化处理.这是为了更快处理大量事务,确保协议的可伸缩性. 随着web的不断发展,无状态 ...

  9. HDU 5514

    题意: 给你 N 个数 和 一个 M: 对于 每一个 Ni , 乘以 K 取摸 M 都有一个 集合, 把所有集合合并, 求和 Σ ai ( ai → K * Ni % M ) 思路 : 最开始 直接求 ...

  10. 自定义session,cookie

    第一种情况:没有设置缓存:执行相对应的setitem等方法进行,保存到字典里面 cookies_dic={}print(cookies_dic)class Session(): def __init_ ...