面对 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.
问题:
-
我该如何解决这个问题?
注意:我已经完成了为 Java 和 NodeJS 开发人员提供的基础教程。
【问题讨论】:
【参考方案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加载失败:找不到指定的模块