`
jashawn
  • 浏览: 18637 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MacOS Python 操作 Oracle——安装cx_Oracle模块

阅读更多

1. 准备

a) 确保已经从Xcode安装了命令行工具

b) 到 Oracle  以下载两个文件

instantclient-basic-1.0.xx-macos-x64.zip

instantclient-sdk-1.0.xx-macos-x64.zip

c) 创建一个目录,我这里是/opt/oracle

d) 将instantclient-basic-1.0.xx-macos-x64.zip解压到以上文件夹,得到/opt/oracle/instantclient_10_2

e) 将instantclient-sdk-1.0.xx-macos-x64.zip里面的sdk目录解压到上面的文件夹,为/opt/oracle/instantclient_10_2/sdk

f) 到sdk目录下把ottclasses.zip解压出来,它会产生一个oracle目录

g) 回到/opt/oracle/instantclient_10_2复制类库文件到当前目录

cp ./sdk/* .

cp ./sdk/includ .

h) 类库OK,设置几个环境变量,编辑/etc/profile

ORACLE_HOME = /opt/oracle/instantclient_10_2

DYLD_LIBRARY_PATH = $ORACLE_HOME

LD_LIBRARY_PATH = $ORACLE_HOME

i) 链接两个文件:

ln -s libclntsh.dylib.10.1 libclntsh.dylib

ln -s libocci.dylib.10.1 libocci.dylib

现在重启机器或者source /etc/profile

2. 安装cx_oracle

下载 cx_Oracle

安装cx_Oracle时我是切换到root完成的安装,否则出现没有权限,有些资料说不需要,反正我没有成功。执行下面命令安装,

 

python setup.py build

python setup.py install

 

安装完了之后测试一下cx_Oracle

$ python

>>> import cx_Oracle

可能出错误,找不到符号 _OCIAttrGet,貌似说是MacOS上的Python是64位的而cx_Oracle是32位的,

在运行python命令之前先设置一个值,

$ export VERSIONER_PYTHON_PREFER_32_BIT=Yes

 

$ python

>>> import cx_Oracle

应该不再报错了。

 

3. IDE设置

主要是想办法填加以上几个环境变量

 

ORACLE_HOME = /opt/oracle/instantclient_10_2

DYLD_LIBRARY_PATH = $ORACLE_HOME

LD_LIBRARY_PATH = $ORACLE_HOME

VERSIONER_PYTHON_PREFER_32_BIT=Yes

 

TextMate可以在设置的shell variables里设置,

aptana 里PyDev->Interpreter Python的Environment里填加

分享到:
评论
1 楼 酷沃哦 2015-10-23  
instantclient-sdk-1.0.xx-macos-x64.zip 一直下载不下来,可以发一个给我吗?
邮箱:350478992@qq.com

相关推荐

    python2.4.3和cx_Oracle 2.4安装包

    这个安装程序会将 cx_Oracle 库添加到你的 Python 安装中,使其可以识别并使用 cx_Oracle 模块。 4. 安装完成后,你可以通过 Python 提示符验证 cx_Oracle 是否正确安装。打开命令行,输入 `python` 进入 Python ...

    macos连接cx_oracle instantclient-basiclite-macos.x64-19.3.0.0.0dbru.zip

    本文将详细介绍如何在MacOS上使用Python的cx_Oracle库通过这个客户端连接到Oracle数据库。 首先,Oracle Instant Client是Oracle公司提供的一个小型客户端,它包含了与Oracle数据库通信所需的关键组件,如oci.dll、...

    macOS安装cx_Oracle

    本人通过多次尝试最终在macOS Sierra系统自带python(2.7.10)环境下成功安装cx_Oracle 此文档详细描述了全部安装过程!

    cx-oracle英文原版.pdf

    - **cx_Oracle** 是一个Python模块,它实现了Python数据库API规范(PEP 249)。 - 该接口允许Python代码执行SQL语句和存储过程调用,处理结果集,并管理事务。 - 该模块使用Oracle的客户端库与Oracle数据库交互。 - ...

    instantclient-basic-macos.x64-11.2.0.4.0

    macOS下Python3使用cx_Oracle连接Oracle数据库失败 sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 1): image not ...

    instantclient-basic-macos.x64-18.1.0.0.0.zip

    然后,为了让Python找到cx_Oracle所需的库,需要安装cx_Oracle库。在终端中运行: ```bash pip install cx_Oracle ``` 如果遇到找不到依赖的问题,可能需要下载并安装对应版本的Oracle Instant Client SDK,因为cx_...

    installClient.zip

    为了使系统能找到这些库文件,可能还需要配置环境变量,如设置ORACLE_HOME为客户端的安装路径,并添加到PATH中。 接下来,我们需要安装Python的cx_Oracle库。可以使用pip来完成这一操作: ``` pip install cx_...

    plsql oci库

    oci库的使用不仅限于PL/SQL Developer,许多其他应用程序和开发工具,如Java的JDBC驱动、Python的cx_Oracle模块,也依赖oci库来与Oracle数据库进行通信。oci库提供了各种API函数,用于执行SQL语句、处理结果集、管理...

    instantclient_12_2客户端

    - **验证连接**: 使用支持Oracle的任何语言(如Python的cx_Oracle模块、Java的JDBC驱动等),尝试连接到Oracle数据库,确保配置成功。 3. **功能与组件** - **oci.dll/oci.so**: OCI库,提供C语言的API接口,用于...

    instantclient文件.rar

    它支持ODBC、JDBC、PHP等多种编程接口,使得非Oracle原生的应用程序也能连接到Oracle数据库,例如Python的cx_Oracle库、Java的JDBC驱动等。 在开发环境中,Oracle Instant Client可以显著减少开发和测试系统的体积...

    instanclient X64位 windows

    - 对于Python、PHP等语言,可能还需要额外安装适配器(如cx_Oracle、php_oci8等)才能利用Oracle Instant Client进行数据库操作。 5. **优点与适用场景**: - 小巧便捷:无需完整安装Oracle数据库,节省磁盘空间...

    instantclient-basic-win32-10.1.0.2

    Oracle Instant Client可以与Oracle SQL Developer、PL/SQL Developer等数据库管理工具结合使用,也可以作为开发工具如Python的cx_Oracle模块、Java的ojdbc驱动的依赖。 总之,“instantclient-basic-win32-10.1....

    Python-DTCTtool这是一款无视数据结构无视数据库类型的数据库对比工具

    DTCTtool基于Python开发,Python作为一门强大的编程语言,拥有丰富的库和社区支持,使得DTCTtool能够轻松地处理各种数据库API,如MySQL的pymysql、PostgreSQL的psycopg2、Oracle的cx_Oracle等。此外,Python的跨平台...

Global site tag (gtag.js) - Google Analytics