使用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的链接阶段和执行阶段。

时间: 2024-10-23 13:32:01

使用pip安装 cx_Oracle 模块的相关文章

sqlmap进阶: 坎坷地安装cx_Oracle模块,直接连接oracle来dump

在sqlmap.conf里填好oracle连接信息(ip,sid,user,password)后,想直接连接oracle,而不是通过注入点. 直接python sqlmap.py -c sqlmap.conf就可以了,提示cx_Oracle模块未安装,那就安装吧. 由于之前在kali安装过,这次在redhat上信心满满, 可惜世事难料! odat上的cx_Oracle模块安装过程,拿来用用. Installation (optional) Get instant client basic, sd

用pip安装python 模块OpenSSL

windows下 1.配置好pip命令 下载安装setuptools-5.4.2.win32-py2.7.exe 装好在C:\Python27\Scripts下应该有easy_install.exe 和 pip.exe 设置好环境变量Path 有C:\Python27\Scripts 在命令行输入pip是否成功 2.下载pyOpenSSL-0.11.winxp32-py2.7.exe 下载地址 https://launchpad.net/pyopenssl 装好后 import OpenSSL

Python安装cx_Oracle模块遇到的问题(32bit)

环境: win7 32位系统 Python3.6 (32bit) 安装模块: cx_Oracle模块下载(下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle) 如是在网站上下载,切记需下载和python版本对应的.因为我之前在64位系统安装时,一直用的是cx_Oracle-5.3+oci12c-cp36-cp36m-win_amd64.whl此文件,故此次安装时就下载了对应32位系统的cx_Oracle?5.3+oci12c?cp

python 安装cx_Oracle模块

想访问远程Oracle数据库,本地又不想安装几百兆的Oracle Client(也木有root权限),安装python的cx_Oralce 模块需要依赖Oracle Instant Client 代替完整的Oracle Client. Oracle Instant Client 下载:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载: instantclient-basic-linux.x64-11.2

python pip安装第三方模块

一.pip工具使用 安装windows版本python,自带pip工具.2者路径相同. 如果设置了环境路径,可以直接在命令提示符窗口下尝试运行pip.如果没有设置环境路径,可以先cd命令到pip工具的安装文件夹下,再运行pip. 安装Pillow模块: pip install Pillow 二.批量安装常用模块 安装Anaconda. 三.模块搜索路径 1 >>> import sys 2 >>> sys.path 3 ['', '/Library/Frameworks

windows下使用pip安装python模块lxml

pip install lxml 1 1 会有如下问题:  结果一路解决下去,解决了一个坑还是有一个坑,遂放弃,查找有没有别的解决办法. 亲测使用wheel+pip可以成功安装lxml! wheel本质上是一个 zip 包格式,它使用 .whl 扩展名,用于 Python 模块的安装,它的出现是为了替代 Eggs. 1. 安装wheel pip install wheel 1 1 2.下载安装文件 页面中有很多python扩展包的安装文件,找到lxml的下载路径,并选择适合自己的安装文件-下载路

Pycharm安装pip pip安装第三方模块

Pycharm安装pip pip-安装第三方组建 打开pycharm → 文件 → 设置 → 项目 → project interpreter,点击"+"加号, 在搜索栏中选择pip,勾选红色框内,点击install package ,等待安装完成关闭pycharm,重新打开模块就可以使用了. ##默认模块安装路径在python目录的scripts目录下边.到该目录下执行相应模块! 例如:pip install python-memcached 系统添加环境变量: 将python的sc

pip安装psutil模块时候报错:yum install python-devel mysql-devel zlib-devel openssl-devel

yum install python-devel mysql-devel zlib-devel openssl-devel [[email protected] software]# pip install psutil Collecting psutil Using cached psutil-2.2.1.tar.gz Installing collected packages: psutil Running setup.py install for psutil Successfully i

centos7 使用pip安装python-mysqldb模块出现的问题:

首先: yum install python2-pip -y pip install MySQL-python 安装时会出现以下错误: 执行以下命令还是报错: pip install --upgrade pip yum install mysql-devel 安装mysql-devel后还是报一下错误: yum install -y gcc yum install -y yum install python-devel 然后执行安装就OK了: pip install MySQL-python 原