import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。

摘要:
运行代码中出现异常:importcx_ OracleImportError:DLLloadfailed:找不到指定的模块。问题分析:百度找到了1、2、3个解决方案,步骤完全正确。步骤没有问题。然后,cx Oracle和instantclient basic win64-12.8rar的相应版本出现了问题。我安装了cx_ Oracle-7.3.0-cp35-cp35m-win _ Amd64.whl,问题无法解决;卸载和安装cx_ Oracle-7.2.0.tar仍然无法解决。问题摘要:1.安装cx Oracle时,请使用。exe可执行程序双击安装。不要安装pipinstallXX。whl;2.cx Oracle版本需要适应instantclient版本。我安装了版本12。

我们知道,Python使用cx_Oracle连接oracle的三个步骤是:
1、先安装cx-Oracle包,地址:https://pypi.org/project/cx-Oracle/5.3/#files
2、下载Oracle客户端instantclient-basic-win64-12.rar(我的电脑是64位,12是版本,还有11、10等),解压后将oci.dll所在绝对路径添加到环境变量中。
3、将instantclient_12_2下的所有.dll文件拷贝到python根目录(即与python.exe同级)和F:pythonLibsite-packages目录下。

运行代码出现异常:import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。
问题分析:

  • 百度了解决方案 发现1,2,3,步骤完全正确。步骤没问题
  • 然后就是cx-Oracle和instantclient-basic-win64-12.rar的版本对应问题,我装的cx_Oracle-7.3.0-cp35-cp35m-win_amd64.whl,问题不能解决;再卸载装cx_Oracle-7.2.0.tar,依然不能解决。
  • 网上说使用.exe可执行文件直接安装cx_Oracle可以正常安装;我就又卸载了cx_Oracle-7.2.0.tar,删除instantclient的环境变量; 网上下载了cx_Oracle-5.3-12c.win-amd64-py3.5-2.exe, 按照1,2,3步重新装了一次,成功了!

问题总结:
1、安装的cx-Oracle时使用.exe可执行程序双击安装,不要pip install XX.whl安装;
2、cx-Oracle版本需要与instantclient版本适应,我装的是12版(cx_Oracle-5.3-12c.win-amd64-py3.5-2.exe,instantclient-basic-win64-12.rar)。
3、也可以安装cx_Oracle-5.3-11c.win-amd64-py3.5-2.exe和instantclient-basic-win64-11.rar, 11是版本,64是计算机位数,都要对应。
4、如果计算机上已经安装了Plsql,那么先看下环境变量,应该已经配置了instantclient32,即32位的instantclient; 此时如果我们是64位计算机,要先安装cx_Oracle-5.3-11c.win-amd64-py3.5-2.exe,再解压instantclient-basic-win64-11.rar,不须再配置环境变量,只须把instantclient64位的所有.dll文件拷贝到python根目录(即与python.exe同级)和F:pythonLibsite-packages目录下即可。

免责声明:文章转载自《import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PowerShell中一个分号引发的问题Oracle查看正在执行的存储过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Docker 安装 Python

Docker 安装 Python 方法一、docker pull python:3.5 查找 Docker Hub 上的 python 镜像: docker search python 这里我们拉取官方的镜像,标签为3.5 : docker pull python:3.5 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 py...

python多进程那点事儿【multiprocessing库】

      前言:项目中有个需求需要对产品的日志处理,按照产品中日志的某些字段,对日志进行再次划分。比如产品的日志中含有字段id,tag=1,现在需要把tag是基数的放到一个文件中,tag是偶数的放入一个文件中。这就涉及到多个文件的读写操作,一个文件一个文件读取写入那时间太久了,公司配备的单机,跑了半个多小时,光标还是一直在闪闪闪【你懂得】。没办法了,还是...

在Ubuntu中创建一个简单的DJango项目

一:创建及运行虚拟环境 步骤说明 1. 使用命令行在Ubuntu系统下创建一个虚拟环境如创建一个叫py3的虚拟环境 irtualenv py3 2.进入创建好的虚拟环境 workon py3 3.在虚拟环境中安装Django, 代码说明 mkvirtualenv 创建虚拟环境 rmvirtualenv 删除虚拟环境 virtual 虚拟机...

tnsping 命令解析

C:Users owhill>tnsping jljcz Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来: 1)验证名字解析(name resolution,当然是oracle自己的网络服务名) 2)远程的listener是否启动 C:Users owhill>lsnrctl stop 关闭监听 C:Us...

Java的第一课(j2sdk + Tomcat 5.0)

目前,建议初学者用j2sdk + Tomcat 5.0.19开始学习jsp.也是现在最新版本. 初学者一般和我当初一样,都不明白jdk,j2sdk,j2se,j2ee之间的区别,这里简单介绍一下: jdk: java devolop kit -- java开发包(运行java最基本的东东) j2sdk:在1.4版以前称为jdk,可以理解j2sdk是jdk的升...

Linux 安装 Oracle 客户端、 sqlldr 和 sqluldr2

  前阵子 hive 接口机故障导致重装了系统,原先所有的配置信息焕然一新,主机系统装好后,发现和 数据库的连接失败了,也无法通过 sqluldr sqluldr2 和 Oracle 进行文件交互了,今天的任务就是 把这个环境整好,辛苦一天也算是完成任务,作为新手,记录一下,方便以后使用; 1、安装 Oracle 客户端 首先:查询 Oracle 版本:...