使用pip安装 cx_Oracle 模块
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的链接阶段和执行阶段。
使用pip安装 cx_Oracle 模块的更多相关文章
- 使用pip安装BeautifulSoup4模块
1.测试是否安装了BeautifulSoup4模块 import bs4 print bs4 执行报错说明没有安装该模块 Traceback (most recent call last): File ...
- windows下pip安装python模块时报错
windows下pip安装python模块时报错总结 装载于:https://www.cnblogs.com/maxaimee/p/6515165.html 前言: 这几天把python版本升级后, ...
- windows下pip安装python模块时报错【转】
windows下pip安装python模块时报错总结 请给作者点赞--> 原文链接 1 权限问题 C:\Users\ljf>pip install xlwt Exception: Trac ...
- nanopi NEO2 学习笔记 2:安装 pip 和 pip 安装第三方模块
我现在越来越喜欢用python做开发了,特别是知道了python还能用rpi.gpio库操作 NEO2 的 io 口之后,更是激动 在进行一下的操作之前,要先更换国内的 apt arm64 源,并更新 ...
- Python 安装cx_Oracle模块
1.Python安装cx_Oracle模块需要安装Oracle,并在环境变量中添加Oracle的路径. 2.没有安装Oracle的需要下载一个oci.dll的文件,并把文件的路径添加到path中. 如 ...
- python使用pip安装第三方模块遇到的问题及解决方法
python使用pip安装第三方模块遇到的问题及解决方法 关注公众号"轻松学编程"了解更多. 使用国内源: 清华:https://pypi.tuna.tsinghua.edu.cn ...
- Python 安装cx_Oracle模块折腾笔记
kali linux/ubuntu下安装: 不得不说安装这个模块很蛋疼,决定做个记录. sudo apt install build-essential unzip python-dev libaio ...
- windows下pip安装python模块时报错总结
http://www.cnblogs.com/liaojiafa/p/5100550.html 前言: 这几天把python版本升级后,发现pip安装模块好多都报错(暂不确定是不是因为升级导致的),我 ...
- python 使用pip安装第三方模块
part 1:使用方法: 1.pip install somePackage picture 1 2.pip show somePackage 例如:pip show pip 弹出关于该模块的信息 p ...
随机推荐
- 使用JS实现图片展示瀑布流效果
不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流 就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候, 下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度 ...
- css3动态旋转魔方练习
图片素材: html部分: <!DOCTYPE html><html><head> <meta charset="utf-8" /> ...
- 2016huasacm暑假集训训练三 G - 还是畅通工程
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/G 这题和上一道题差不多,还更简单点,直接用prim算法就行,直接贴AC代码: im ...
- Memcache教程 Memcache零基础教程
Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...
- 小型移动 webApp Demo 知识点整理
包括内容: css初始化.css全局设置.常用meat标签.rem适配.flex布局.相关技巧(手势库使用.多行截字.1像素边线.点击状态.placeholder居中等) reset 引用 norma ...
- Thinking in Java——笔记(17)
Containers in Depth Full container taxonomy You can usually ignore any class that begins with " ...
- asp.net mvc 过滤器
https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters#ordering 1. 对于应用在 Action 上的多个行为 ...
- pyspider 安装时 Could not run curl-config
sudo aptitude install libcurl4-openssl-dev
- 数据库 定义 bit 类型 (true=1,false=0)
当Sql Server数据库定义 数据 为 bit 类型时, 编写代码时 要用 true or false 赋值. 例如: OffTheShelf 定义类型为 bit 后台赋值时 OffTheSh ...
- java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)
import java.util.*; public class Person implements Comparable<Person>//使Person的属性具有比较性 { priva ...