zoukankan      html  css  js  c++  java
  • import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。

    我们知道,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目录下即可。

  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/We612/p/12777459.html
Copyright © 2011-2022 走看看