文档章节

macos下 python安装cx_oracle

啊哈关关
 啊哈关关
发布于 2016/12/03 11:42
字数 689
阅读 769
收藏 1

1) 首先通过命令安装cx_Oracle

  • pip install cx_Oracle
  • 也可在pycharm里面安装,File->Default Setting ->Project Interpreter->添加cx_Oracle->Install package;
  • 如果安装失败,点击Manage Repositories :更换仓库地址为:http://pypi.douban.com/simple/
  • 去官网下载源码包:cx_Oracle-5.2.1.tar.gz;
  • https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads

2)去oracle官网下载mac版的64bit的client basic 和client sdk

http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

 

3)编译安装:

  • sudo su #切换到root用户
  • mkdir /Users/guanguan/oracle #创建oracle文件
  • mv /Users/guanguan/Downloads/instantclient-* /Users/guanguan/oracle #将下载的两个Oracle包放到/Users/guanguan/oracle目录下
  • cd /Users/guanguan/oracle 进入oracle文件中
  • unzip instantclient-basic-macos.64-12.1.0.4.0.zip #解压
  • unzip instantclient-sdk-macos.64-12.1.0.4.0.zip #解压
  • cd instantclient_12_1/sdk
  • unzip ottclasses.zip
  • cd ..
  • cp -R ./sdk/* .
  • cp -R ./sdk/include .
  • ln -s  libocci.dylib.12.1 libocci.dylib
  • ln -s libclntsh.dylib.12.1 libclntsh.dylib

4)更改环境变量:

  • vi ~/.bash_profile
  • export ORACLE_HOME=/Users/guanguan/oracle/instantclient_12_1
  • export DYLD_LIBRARY_PATH=$ORACLE_HOME
  • export LD_LIBRARY_PATH=$ORACLE_HOME
  • 然后输入source ~/.bash_profile 或者 .  ~/.bash_profile使环境变量生效

5)测试环境变量是否生效

  • echo $ORACLE_HOME
  •  /Users/guanguan/oracle/instantclient_12_1

6)然后解压安装cx_Oracle:

  • tar -zxvf cx_Oracle-5.2.1.tar.gz
  • cd cx_Oracle-5.2.1
  • python setup.py build
  • python setup.py install

7)测试cx_Oracle安装是否成功

  • python
  • import cx_Oracle

#运行结果结果:

➜  ~ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>>

或者 python -c "import cx_Oracle"

➜  ~ python -c "import cx_Oracle"
➜  ~

此时说明已经安装成功啦~

报错信息:

sh-3.2# python -c "import cx_Oracle"
/Library/Python/2.7/site-packages/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg/cx_Oracle.py:3: UserWarning: Module cx_Oracle was already imported from /Library/Python/2.7/site-packages/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg/cx_Oracle.pyc, but /Users/guanguan/oracle/cx_Oracle-5.2.1 is being added to sys.path
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "build/bdist.macosx-10.11-intel/egg/cx_Oracle.py", line 7, in <module>
  File "build/bdist.macosx-10.11-intel/egg/cx_Oracle.py", line 6, in __bootstrap__
ImportError: dlopen(/var/root/.python-eggs/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg-tmp/cx_Oracle.so, 2): Library not loaded: @rpath/libclntsh.dylib.12.1
  Referenced from: /var/root/.python-eggs/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg-tmp/cx_Oracle.so
  Reason: image not found

 

解决方法:(删除之前安装的cx_Oracle,设置export FORCE_RPATH=TRUE,重新安装cx_Oracle)

sh-3.2# export FORCE_RPATH=TRUE
sh-3.2# pip install cx_Oracle
Requirement already satisfied: cx_Oracle in /Library/Python/2.7/site-packages/cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg
sh-3.2# cd /Library/Python/2.7/site-packages/
sh-3.2# rm -f cx_Oracle-5.2.1-py2.7-macosx-10.11-intel.egg
sh-3.2# pip install cx_Oracle
Collecting cx_Oracle
  Using cached cx_Oracle-5.2.1.tar.gz
Installing collected packages: cx-Oracle
  Running setup.py install for cx-Oracle ... done
Successfully installed cx-Oracle-5.2.1

再次试验:

sh-3.2# python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> exit()

 

==========================================

python对cx_Oracle的简单操作:

#! /usr/bin/python
import cx_Oracle
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #解决oracle数据库中的中文查出来是???
等乱码的问题


dsnStr = cx_Oracle.makedsn("127.0.0.1", "1521", "orcl")
conn = cx_Oracle.connect(user="test", password="test", dsn=dsnStr)

c=conn.cursor()
x=c.execute('select *  from TEST.TEST p WHERE ID<2')
print (x.fetchone())
c.close()
conn.close()
学习链接:http://joelvasallo.com/?p=276

 

© 著作权归作者所有

啊哈关关
粉丝 9
博文 181
码字总数 79673
作品 0
深圳
程序员
私信 提问
mac上安装python3的cx_Oracle数据库驱动

问题 使用Python3 for mac上面的cx_Oracle数据库驱动 步骤 下载Oracle的Instant Client 程序包 Instant Client 下载适用于 Mac OS X (Intel x86) 这里版本的选择,应该根据你访问的oracle库的...

亚林瓜子
2018/08/03
48
0
新版 macOS 默认不包含脚本语言运行时,并将移除 Python 2.7

根据 macOS 下一个主要版本 10.15(macOS Catalina) 的发布说明,从该版本起,macOS 默认不包含脚本语言运行时。 在发布说明中苹果称,为了保持与旧版软件的兼容性,macOS 默认包含了脚本语...

局长
06/07
4.9K
16
Python 2.7.15 发布,bug 修复版本

Python 2.7.15 发布,此版本是 Python 2.7 系列的 bug 修复版本。 macOS 用户需要关注一下,从2.7.15版本开始,所有 python.org macOS 安装程序都附带了 OpenSSL 的内置副本。此外,还有一个...

h4cd
2018/05/03
1K
3
Python 2.7.15 candidate 1 现已发布

Python 2.7.15 candidate 1 现已发布,预计在 4 月底发布最终的 2.7.15 版本。 Python 2.7.15 candidate 1 是 Python 2.7.15 的预览版,它是 Python 2.x 系列中的下一个错误修复版本。 注意 ...

周其
2018/04/16
1K
5
MacOS 系统中如何设置 Python 虚拟环境

使用 pyenv 和 virtualwrapper 来管理你的虚拟环境,可以避免很多困惑。 作为 Python 开发者和 MacOS 用户,拿到新机器首先要做的就是设置 Python 开发环境。下面是最佳实践(虽然我们已经写...

作者: Matthew Broberg
07/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部