cx_Oracle ImportError:DLL加载失败:找不到指定的模块

时间:2017-03-03 20:38:39

标签: python-3.x pip importerror cx-oracle

我已经使用pip成功安装了cx_Oracle。但是当我试图在python中导入它时。它显示错误。任何帮助都将受到高度赞赏。

PS C:\Users\singishi> pip install cx_oracle
Collecting cx_oracle
Installing collected packages: cx-oracle
Successfully installed cx-oracle-5.2.1
PS C:\Users\singishi> python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.

error

3 个答案:

答案 0 :(得分:0)

一种可能性是您安装了多个版本的Python,并且您使用的pip指的是与您运行的Python版本不同的Python版本。您可以通过运行此命令来确保这不是问题:

python -m pip install cx_Oracle --upgrade

另一种可能性是您没有在PATH环境变量中安装Oracle客户端,这很容易检查。

如果这两个问题都没有问题,那么你需要深入挖掘。也许检查为其依赖项安装的pip的cx_Oracle.pyd并确保它们满意。

答案 1 :(得分:0)

我的系统运行Win 10 x64并具有Python 2.7的Anaconda 2发行版。我正在使用jupyter笔记本从Anaconda访问Python。

以下是我如何使用它的大致顺序: 1)为相同版本的cx_oracle 安装oracle即时客户端。关于cx_oracle下载页面的注意事项,文件名表示它是12c还是11g。我有12c,因此需要使用12_2的即时客户端。 2)即时客户端的安装必须与我的SQL Developer安装在同一个父文件夹中。无论出于何种原因,直到我将它放在同一个父文件夹中才能生效,因此\ Oracle与\ SQLDeveloper共享父级。 3)在名为“PATH”的Windows环境变量中包含oracle即时客户端的路径。 4)在Windows环境中创建一个名为“ORACLE_HOME”的新变量。 5)然后从pip安装cx_oracle。如果您已经安装它,请先卸载它。 6)现在尝试导入它。

答案 2 :(得分:0)

cx_oracle需要再安装一个软件包,即SQLAlchemy。 因此,使用pip安装了SQLAlchemy。 我试过了,对我有用。