面对 ImportError:DLL 加载失败,同时实现 Microsoft azure iothub_service_client

Posted

技术标签:

【中文标题】面对 ImportError:DLL 加载失败,同时实现 Microsoft azure iothub_service_client【英文标题】:Facing ImportError: DLL load failed while implementing Microsoft azure iothub_service_client 【发布时间】:2017-06-23 04:06:34 【问题描述】:

我正在尝试开发一个使用 Microsoft azure 实现 IoT 的 python 控制台应用程序。为此,我在我的 Windows 10 机器上关注 very basic tutorial made for python developers by Microsoft azure。预装Visual C++ redistributable package 是允许使用 Python 中的本机 DLL 的最重要要求之一,这是本教程介绍部分中描述的 4 个先决条件。

我的系统配置:

Software                               Version
-------------------------------------------------------
Python:                                3.5.2
Visual C++ redistributable package:    2010, 2013, 2017
Node:                                  6.10.2

Visual C++ 可再发行包图:

问题:

    未安装 Visual C++ 可再发行包,因为教程中的 Visual C++ redistributable package 是旧版本 (2015),然后是我的 (2017)。

    它显示以下错误:

    Traceback (most recent call last):
      File "CreateDeviceIdentity.py", line 2, in <module>
        import iothub_service_client
      File "F:\Settings\Windows\ProgramFiles\Python\lib\site-packages\iothub_service_client\__init__.py", line 1, in <module>
        from .iothub_service_client import *
    ImportError: DLL load failed: The specified module could not be found.
    

问题:

    我该如何解决这个问题?

注意:我已经完成了为 JavaNodeJS 开发人员提供的基础教程。

【问题讨论】:

【参考方案1】:

我尝试成功重现您的问题,并在安装Visual C++ Redistributable for Visual Studio 2015 后使代码import iothub_service_client 工作。所以请在你的机器上安装2015版本来解决,如教程所说,

如果您使用的是 Windows 操作系统,则Visual C++ redistributable package 允许使用来自 Python 的本机 DLL。

教程中的链接适用于 2015 版。

【讨论】:

您的建议/回答无法解决上述问题。无论如何,我通过upgrading the python version from 3.5.2 to 3.6.1 解决了这个问题 我遇到的问题是我已经安装了较新版本的 Visual C++ 可再发行包,如果已安装较新版本,该特定安装程序将不允许我安装旧版本。在 Python 3.7.3 上并使用 azure-iothub-device-client==1.4.6 我仍然遇到与上述相同的错误。

以上是关于面对 ImportError:DLL 加载失败,同时实现 Microsoft azure iothub_service_client的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:DLL 加载失败:找不到指定的过程。 (导入sklearn)

ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序。但是DLL在那里

ImportError:导入 _remap 时 DLL 加载失败

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

ImportError:导入聚合时DLL加载失败:找不到指定的模块

NumPy 库 ImportError:DLL 加载失败:找不到指定的过程