安装 cx_Oracle
1、下载 oracle client instant 和 sdk, 全部解压到 /opt/instantclient_11_2/
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
instantclient-basic-linux.x64-11.2.0.4..zip
instantclient-sdk-linux.x64-11.2.0.4..zip
2、设置环境变量
export ORACLE_HOME=/opt/instantclient_11_2/
#添加头文件的搜索路径
export C_INCLUDE_PATH=/opt/instantclient_11_2/sdk/include/
#添加库搜索路径
export LD_LIBRARY_PATH=/opt/instantclient_11_2/
#设置符号链接,以便安装时能找到
ln -s /opt/instantclient_11_2/libclntsh.so.11.1 /opt/instantclient_11_2/libclntsh.so
3、安装 cx_Oracel
pip install cx_Oracle
PS:
如果另开一个 terminal,在 python 中执行 import cx_Oracle 会提示未找到共享库。
应该是之前设置的环境变量失效了,故可修改用户的配置文件:~/.bashrc
在里面加一行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instantclient_11_2/
总结:
使用 pip 安装 cx_Oracle 的过程中要 检测 instantclient,编译源码,进行安装。
其中环境变量 ORACLE_HOME 用于表示 instantclient 的安装位置,
C_INCLUDE_PATH 供 gcc 查找 头文件的路径,
LD_LIBRARY_PATH 用于 cx_Oracle的链接阶段和执行阶段。
安装 cx_Oracle的更多相关文章
- 使用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 ...
- 安装cx_Oracle 6
首先声明,本文是在Linux 环境下进行安装.不涉及Windows 版安装. 一. 了解cx_Oracle 安装要求 要python 通过cx_Oracle 6 操作Oracle 数据库,以下几个条件 ...
- 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中. 如 ...
- 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 ...
随机推荐
- Android笔记之让Debug和Release模式使用相同的签名
方法如下图 完整的build.gradle如下 apply plugin: 'com.android.application' android { compileSdkVersion 29 build ...
- WPF+MVVM+EF示例1
实现了那些功能,先看看效果图: 项目工程目录: 接下来开始具体的步骤: 第一步:在VS中新建工程 第二步:使用NuGet 安装EntityFramework 第三步:使用NuGet 安装EntityF ...
- ES6之主要知识点(九)Set和Map
1.Set ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); ...
- react使用swiper,解决添加点击事件首位图片点击失效,解决轮播按钮被覆盖问题
JS部分 createSwiper1() { var option = { // slidesPerView: 5, slidesPerView: 3, centeredSlides:true, }; ...
- [转]C#委托的异步调用
本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: ); //模拟该方法运 ...
- mysql5.7基于gtid进行搭建主从复制过程
gtid_mode = onenforce-gtid-consistency = onskip_name_resolve # 去掉域名解析二进制日志必须开启,且格式为ROWserver-id必须配置成 ...
- C语言学习笔记 函数式宏
不学C光搞PHP不知道还有这种东西-函数式宏,宏前面学过了Macro,编译器在对代码进行编译时会对宏表达式进行展开替换,这样宏就起到了全局变量的作用,这里函数式宏也是类似,编译器进行编译时按函数表达是 ...
- Spring注解驱动开发(六)-----spring容器创建【源码】
Spring容器的refresh()[创建刷新] 1.prepareRefresh()刷新前的预处理 1).initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法 ...
- hibernate多表关联CascadeType类型的选择
CascadeType.REMOVE//慎用 Cascade remove operation,级联删除操作.删除当前实体时,与它有映射关系的实体也会跟着被删除. CascadeType.MERGE ...
- centos7下python3和pycharm安装
1.python3安装 直接到官网下载或在以下地址下载让后解压安装 下载地址:https://www.python.org/ftp/python/ 安装参考博客:https://www.cnblogs ...