1. 系统环境,linux, python3.5, pip
以下命令的执行均使用root用户。

2. 执行 pip install cx_Oracle
出错,提示不能定位Oracle的安装。出现该问题的原因是因为没有安装Oracle客户端相关的库文件。
下载文件:instantclient-basic-linux.x64-12.1.0.2.0.zip
下载链接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

3. 解压下载到的文件,假设解压到 /opt/instantclient_12_1/ 这个目录
设置环境变量:export ORACLE_HOME=/opt/instantclient_12_1/
再次执行 pip install cx_Oracle
出错,提示编译过程未找到 oci.h 这个头文件。

4. 下载文件:instantclient-sdk-linux.x64-12.1.0.2.0.zip
下载链接:一致
解压下载到的文件,假设仍然解压到 /opt/instantclient_12_1/

5. 添加头文件的搜索路径:
export C_INCLUDE_PATH=/opt/instantclient_12_1/sdk/include/
再次执行:pip install cx_Oracle
编译成功,链接出错,提示 cannot find -lclntsh

6. 添加库搜索路径
export LD_LIBRARY_PATH=/opt/instantclient_12_1/
再次执行 pip install cx_Oracle
依然提示未找到
猜测是名称问题,于是建立符号链接:
ln -s /opt/instantclient_12_1/libclntsh.so.12.1 /opt/instantclient_12_1/libclntsh.so
再次执行 pip install cx_Oracle
安装成功。

7. 另开一个 terminal,在 python 中执行 import cx_Oracle 提示未找到共享库。
应该是之前设置的环境变量失效了,故修改用户的配置文件:~/.bashrc
在里面加一行:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instantclient_12_1/

8. 配置完成

0. 总结:
使用 pip 安装 cx_Oracle 的过程中要 检测 instantclient,编译源码,进行安装。
其中环境变量 ORACLE_HOME 用于表示 instantclient 的安装位置,
C_INCLUDE_PATH 供 gcc 查找 头文件的路径,
LD_LIBRARY_PATH 用于 cx_Oracle的链接阶段和执行阶段。

最新文章

  1. 如何解决Windows 10系统下设备的声音问题
  2. web开发的步骤
  3. 欢迎进入Node.js世界
  4. 65. Reverse Integer && Palindrome Number
  5. VGA逐行扫描控制器的Verilog建模
  6. builder.properties
  7. C# 判断字符串是否为日期格式
  8. iOS 应用首次开启 出现引导页面
  9. 算法起步之A星算法
  10. python爬虫学习--防盗链
  11. 在线文档转换API word,excel,ppt等在线文件转pdf、png
  12. Golang 入门系列(三)Go语言基础知识汇总
  13. 51nod--1185 威佐夫游戏 V2 (博弈, 乘法模拟)
  14. 每天学点SpringCloud(十一):Hystrix仪表盘
  15. Docker 安装和配置
  16. js生成条形码插件
  17. vue 3D小球 loading
  18. 同一sql表,在页面展示多级菜单
  19. You can't specify target table 'e' for update in FROM clause
  20. MySQL多线程同步-Transfer使用测试

热门文章

  1. Eclipse中的文件导航插件StartExplorer
  2. Django model字段类型清单
  3. 諾基亞定制的Android系統名為 Z Launcher
  4. MySQL主主复制+MMM实现高可用
  5. 微博mid和id转换
  6. rem的使用
  7. 基于ssh框架开发的购物系统的质量属性
  8. ES6 基础知识
  9. ssh 使用密钥与登录进行远程cp
  10. [原]简易android反编译教程