[Python] ImportError: DLL load failed … 找不到指定的模块 此类问题解决方法

[Python] ImportError: DLL load failed … 找不到指定的模块 此类问题解决方法最近升级Python项目,由Python2.7升级到Python3.8.3,项目使用了PySide2,对于较新的Python3.8.3,PySide2可能存在些许不兼容问题,环境配置完成后,出现一连串的ImportError:DLLloadfailed找不到指定模块对于很多Python开发者来说,这类问题最为头疼,不知道如何下手解决。我是在virtualenv虚拟环境下配置Python3.8.3的开发环境。OS:Windows7x64各种依赖安装完毕后

大家好,又见面了,我是你们的朋友全栈君。

文章目录

问题

最近升级 Python 项目,由 Python2.7 升级到 Python3.8.3,项目使用了 PySide2,对于较新的Python3.8.3 , PySide2 可能存在些许不兼容问题,环境配置完成后,出现一连串的
ImportError: DLL load failed 找不到指定模块
对于很多 Python 开发者来说,这类问题最为头疼,不知道如何下手解决。

我是在 virtualenv 虚拟环境下配置 Python3.8.3 的开发环境。

  • OS: Windows 7 x64
  • Python: 3.8.3

各种依赖安装完毕后,运行项目,首先报出的是

from .shiboken2 import *
ImportError: DLL load failed while importing shiboken2: 找不到指定的模块

定位

从提示上看,是加载 DLL 失败,是关于 shiboken2 模块的。
第一反应是,这个库用到了某个 DLL, DLL 所在路径没有加到虚拟环境的变量 path 中。
于是打开 shiboken2 的包目录查找,看到有一些 DLL 文件:
在这里插入图片描述
首先尝试把它们复制到 Python 虚拟环境的 Scripts 目录下。依然不行,看来路径正确还是不行,或许是缺少其它依赖的 DLL,网上下载、打开 DLL 依赖检查工具 Dependency Walker,将 shiboken2.pyd 拖入这个工具中,发现缺少 python3.dll 依赖:
在这里插入图片描述
原来,在创建 Python3.8.3 虚拟环境时,只自动复制了 python38.dllScripts 目录,没有 python3.dll,于是手动复制 python3.dll 到虚拟环境的 Scripts 目录。再次运行项目,果然上面错误没有了。但报了另外一个错误:

from PySide2.QtCore import QObject, QSettings
ImportError: DLL load failed while importing QtCore: 找不到指定的模块

继续使用 Dependency Walker,打开 PySide2 包目录下的 QtCore.pyd,发现缺少几个 DLL 文件:
在这里插入图片描述
网上搜索并下载缺失的 DLL 文件,放到 Scripts 目录,再次运行项目,错误消失啦。

结论

Dependency Walker 真香!
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158590.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Emgucv环境配置[通俗易懂]

        Emgucv是在.NET平台下使用OpenCV视觉库的桥梁,在使用之前需要对系统进行配置,其配置和OpenCV的配置有点不同。1、EmguCV下载下载网站:http://www.emgu.com/wiki/index.php/Main_Page该网站上有EmguCV的所有资料,包括教程。下载好之后,直接安装到电脑上,安装位置可任意。本文所配置的是EmguCV3.0.0版本。2、新建一个VS…

  • cms开源网站管理系统_javaweb开源商城

    cms开源网站管理系统_javaweb开源商城笔者整理了八款.Net优秀的开源CMS内容管理系统,推荐给广大的.net开发者。

  • 五万字总结,深度学习基础。「建议收藏」

    五万字总结,深度学习基础。「建议收藏」文章目录1基本概念1.1神经网络组成?1.2神经网络有哪些常用模型结构?1.3如何选择深度学习开发平台?1.4为什么深层神经网络难以训练?1.5深度学习和机器学习的异同?2网络操作与计算2.1前向传播与反向传播?2.2如何计算神经网络的输出?2.3如何计算卷积神经网络输出值?2.4如何计算Pooling层输出值输出值?2.5实例理解反向传播2.6神经网络更“深”有什么意义?3超参数3.1什么是超参数?3.2如何寻找超参数的最优值?3.3超参数搜索一般过程?4激活函数4

  • goland激活码永久(注册激活)

    (goland激活码永久)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html09LVN3XLKC-eyJsaWNlbnNlSWQi…

  • 查看Linux内核版本及发行版本「建议收藏」

    查看Linux内核版本及发行版本「建议收藏」1.查看内核版本$uname-srLinux4.15.11-1.el7.elrepo.x86_64$uname-aLinuxlocalhost.localdomain4.15.11-1.el7.elrepo.x86_64#1SMPMonMar1911:46:06EDT2018x86_64x86_64x86_64GNU/Linux$cat/pro…

    2022年10月13日
  • vscode 快捷键绑定

    vscode 快捷键绑定最近迷上了vscode,用它开发.netcore程序十分方便,智能提示也很好用,插入智能提示的选项是enter键或者tab键,可惜我以前习惯使用vs写c#,习惯用空格做智能提示的选择,多方查找资料甚至准备采用开发一个vscode插件的方式解决,后来无意间查看官方文档,利用vscode的快捷键绑定功能是可以做到的。打开vscode,进入文件->首选项->键盘快捷方式查看’tab’的功能,其中就有一项:

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号