[Python] ImportError: DLL load failed … 找不到指定的模块 此类问题解决方法
大家好,又见面了,我是你们的朋友全栈君。
文章目录
问题
最近升级 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.dll 到 Scripts 目录,没有 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 真香!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158590.html原文链接:https://javaforall.cn
相关文章
- python中merge函数「建议收藏」
- python基础-内置函数详解[通俗易懂]
- Anaconda中将python 3.7版本退回python 3.6版本
- 用Python爬取王者荣耀英雄皮肤海报图
- python函数–isalpha()方法[通俗易懂]
- [Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图
- 【python】Excel转json「建议收藏」
- java异或运算符_python 异或
- python内置函数
- Python的面试题
- 解决python中导出的pdf不能编辑问题
- Python二级备考笔记4 同心圆
- Python-辨析type/dtype/astype用法
- python批量采集美团网餐饮商家评论信息
- python 函数、运算符以及运算符优先级
- 极具参考价值的Python面试题!从创业公司到一线大厂的所有面经汇总
- Mac 计算机的日常使用 和 从零开始搭建Python开发环境
- 支持向量机(SVM)的分析及python实现「建议收藏」
- python skitlearn_Python sklearn
- Python进阶39-drf框架(一)