当前位置: 首页 > news >正文

mac上安装python3的cx_Oracle数据库驱动

为什么80%的码农都做不了架构师?>>>   hot3.png

问题

使用Python3 for mac上面的cx_Oracle数据库驱动

步骤

下载Oracle的Instant Client 程序包

Instant Client 下载适用于 Mac OS X (Intel x86)

下载basic和sdk两个安装包

这里版本的选择,应该根据你访问的oracle库的版本来选择。

配置环境变量

ORACLE_HOME=/usr/local/oracle/instantclient_11_2
LD_LIBRARY_PATH=$ORACLE_HOME
VERSION=11.2.0.3.0
ARCH=x86_64
DYLD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/clidriver/lib:$ORACLE_HOME
export ORACLE_HOME
export LD_LIBRARY_PATH
export VERSION
export ARCH
export DYLD_LIBRARY_PATH

**Note:**这里的DYLD_LIBRARY_PATH需要留意,如果这里配置失误,会导致Python找不到相关库,如下错误:

>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Oracle.cpython-36m-darwin.so, 2): Library not loaded: /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Oracle.cpython-36m-darwin.so
  Reason: image not found

安装Oracle的Instant Client 程序包

mkdir -p /usr/local/oracle/
cd /usr/local/oracle/
tar -xzf instantclient-basic-macos.x64-11.2.0.3.0.zip
tar -xzf instantclient-sdk-macos.x64-11.2.0.3.0.zip
cd instantclient_11_2
ln -s libclntsh.dylib.11.1 libclntsh.dylib
ln -s libocci.dylib.11.1 libocci.dylib

安装cx_Oracle驱动

env ARCHFLAGS="-arch $ARCH" pip3 install cx_Oracle

检查cx_Oracle驱动是否安装成功

zylMBP:instantclient_11_2 zhangyalin$ python3
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> exit()

若出现,如下情况,则需要回头检查DYLD_LIBRARY_PATH环境变量:

zylMBP:instantclient_11_2 zhangyalin$ python3
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Oracle.cpython-36m-darwin.so, 2): Library not loaded: /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cx_Oracle.cpython-36m-darwin.so
  Reason: image not found

总结

希望pip越来越好用,其实主要是我对Oracle和Python不熟悉,这里的安装需要事想配置好oracle的SDK才能够比较顺利的使用pip安装oracle的驱动。

参考: Installing cx_Oracle for Python/ Mac OSX Install Oracle for Python on OSX.md

转载于:https://my.oschina.net/fxtxz2/blog/1921910

相关文章:

  • one-to-all及all-to-all网络通信模式
  • SSM基础框架搭建
  • 黄聪:如何扩展Chrome DevTools来获取页面请求
  • 来,搞个侧栏导航
  • Oracle RAC/Clusterware 多种心跳heartbeat机制介绍 RAC超时机制分析
  • 手机点击输入框时,当键盘弹起,界面上弹,键盘收起,界面下来
  • Python 偏函数 partial function
  • php课程 12-41 多态是什么
  • 设计模式快速学习(三)单例模式
  • hadoop实操篇:hadoop基础教程汇总
  • python2.7用socks和socket设置代理
  • 关于VS2017编译UE4项目,输出窗口有乱码的解决方案
  • Java全栈程序员之01:做个Linux下的程序猿
  • 如何靠谱地查到Tomcat的版本
  • Maven根据pom文件中的Profile标签动态配置编译选项
  • 《剑指offer》分解让复杂问题更简单
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【前端学习】-粗谈选择器
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • CentOS7 安装JDK
  • ECS应用管理最佳实践
  • Java程序员幽默爆笑锦集
  • Java多态
  • js写一个简单的选项卡
  • Lucene解析 - 基本概念
  • OSS Web直传 (文件图片)
  • Python_网络编程
  • scrapy学习之路4(itemloder的使用)
  • ucore操作系统实验笔记 - 重新理解中断
  • VuePress 静态网站生成
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 爬虫模拟登陆 SegmentFault
  • 前端
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (07)Hive——窗口函数详解
  • (1)Nginx简介和安装教程
  • (4)Elastix图像配准:3D图像
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (待修改)PyG安装步骤
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (论文阅读40-45)图像描述1
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • .htaccess配置重写url引擎
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes