美文网首页
Report DLL load failed when impo

Report DLL load failed when impo

作者: 几事当欢 | 来源:发表于2019-12-21 17:13 被阅读0次

    直接来结论

    Microsoft Visual C++ 2015 Redistributable 安装了X86的版本,和python以及PyQt4的64bit不兼容。

    解决方法

    卸载Microsoft Visual C++ 2015 Redistributable,然后重新安装64bit的版本(下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=48145

    Details

    这个问题折腾了两天,起因主要是因为想把工具从python2切换到python3,但是发现切到python3之后一直报“ImportError: DLL load failed”, 但是别的主机上试了下发现又是可以的。于是在网上查找了下,一般是以下几个原因:

    • python3和PyQt4版本不兼容(32bit和64bit的区别)
    • 环境路径添加PyQt4 bin文件路径
    • python3.dll丢失

    所以把python3和PyQt4都重装了下,路径也添加了下,相关dll文件也确认了下,发现始终还是不行。
    后来在stackoverflow上面的一个问题(https://stackoverflow.com/questions/2738879/cannot-import-pyqt4-qtgui
    ),里面提到说打开designer.exe也不行,而且也会具体提示丢失了那个DLL文件。在自己的电脑上试了下,果然和这个描述一样,并且提示的DLL文件也是一样的:msvcp140.dll。
    于是上网搜了下,这个DLL文件时包含在Microsoft Visual C++ 2015 Redistributable这个安装包里的,但是在电脑上检查了下发现这个包已经安装了,查看这个包的版本,竟然是X86版本,因为系统/python/PyQt4都是64bit版本,所以导致了不兼容出现了这个问题。

    相关文章

      网友评论

          本文标题:Report DLL load failed when impo

          本文链接:https://www.haomeiwen.com/subject/exvgnctx.html