安装cx_Oracle 6
首先声明,本文是在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的更多相关文章
- 使用pip安装 cx_Oracle 模块
1. 系统环境,linux, python3.5, pip以下命令的执行均使用root用户. 2. 执行 pip install cx_Oracle出错,提示不能定位Oracle的安装.出现该问题的原 ...
- Windows 环境下于虚拟环境安装源码安装 cx_oracle
安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...
- Windows 环境下于虚拟环境中源码安装 cx_oracle
安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...
- python 安装cx_Oracle模块, MySQLdb模块, Tornado
一,想访问远程Oracle数据库,本地又不想安装几百兆的Oracle Client(也木有root权限),安装python的cx_Oralce 模块需要依赖Oracle Instant Client ...
- Python安装cx_Oracle与操作数据测试小结
这里简单总结一下Python操作Oracle数据库这方面的相关知识.只是简单的整理一下之前的实验和笔记.这里的测试服务器为CentOS Linux release 7.5. 个人实验.测试.采集数据的 ...
- Python 安装cx_Oracle模块
1.Python安装cx_Oracle模块需要安装Oracle,并在环境变量中添加Oracle的路径. 2.没有安装Oracle的需要下载一个oci.dll的文件,并把文件的路径添加到path中. 如 ...
- 安装 cx_Oracle
1.下载 oracle client instant 和 sdk, 全部解压到 /opt/instantclient_11_2/ http://www.oracle.com/technetwor ...
- ubuntu 下安装 cx_Oracle库
1.下载3个zip包: 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.htm ...
- 安装cx_Oracle 遇到的杂项问题
1. 解决方法: 将xc用户添加进sudousers 2.安装VMware Tools 更新 http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2F ...
随机推荐
- 全国人口 信息(NCIIC)接口开发纪要
阶段一:根据wsdl2java命令解析https://ws.nciic.org.cn/nciic_ws/services/NciicServices?wsdl以生成接口调用的对象类: wsdl2jav ...
- Django 基于类的通用视图
在早期,我们认识到在视图开发过程中有共同的用法和模式.这时我们引入基于函数的通用视图来抽象这些模式以简化常见情形的视图开发. 基于函数视图的用法有以下三种: def index(request): r ...
- 20165221学习基础和C语言基础调查
1.你有什么技能比大多人(超过90%以上)更好? - 我觉得自己应该改算资质平平的那种人,如果说有什么技能比大多数人更好,我觉得应该是看过自己喜欢的书后,那种记忆能力.就比如自己从小对历史很感兴趣,小 ...
- CF1096D Easy Problem
题目地址:CF1096D Easy Problem 比赛时高二dalaoLRZ提醒我是状压,然而,我还是没AC (汗 其实是一道很基础的线性dp \(f_{i,j}\) 表示序列第 \(i\) 个字符 ...
- python 各种推导式玩法
推导式套路 除了最简单的列表推导式和生成器表达式,其实还有字典推导式.集合推导式等等. 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_re ...
- MFC调用libyara遇到的问题
测试结果 如果调用yara非要变成共享DLL的形式,加那么多的DLL,不如直接调用EXE文件.反而依赖vcruntime运行库的DLL会少很多... 调用libyara 调用libraya和C++调用 ...
- python3编码(encode,decode)
python3默认编码为unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> bytes d ...
- Linux中目录proc/net/dev详解【转】
转自:https://blog.csdn.net/yzy1103203312/article/details/77848192 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- Delphi XE-Windows下配置开发环境 (Android版/IOS)
Delphi XE-Windows下配置开发环境 (Android版/IOS) http://www.52jike.com/thread-1-1-1.html Delphi XE5的Androi ...
- for..of和for..in和map、filter等循环区别
1.for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值. for in遍历比较适合遍历对象,不太适合数组,有可能遍历出来的不按照顺序 遍历数组 ,,,,,] for (var ...