首先说明一下我遇到的问题:
采用pip install pyside2安装最新版本,运行.py文件提示ImportError: DLL load failed: 找不到指定的模块
解决方法尝试:
网上第一种解决办法(这个是文章最多的):说可能安装的包不完整,卸载掉已安装的,然后换版本安装,网上大部分文章换了
5.14.
∗
5.14.*
5.14.∗这个版本,但是目前好像不支持14版本了,最小的为
15.1
15.1
15.1版本,因此我先尝试换了
15.1
15.1
15.1版本,还是没有解决问题。
此处注意卸载的时候同时卸载pyside2和shiboken2这两个包,不然卸掉pyside2后另一个版本不会变,可能导致版本不匹配。
我用这个没有解决问题,依然会提示找不到dll的问题,然后断点调试,只导入
pyside2相关的包是可以的,但是运行整个文件则不行。因此介绍第二个方法。
解决办法二:把pyside2相关的包放在前边导入,这个因该可以解决掉一部分问题
对于我的文件,因为前边要依赖其他包,因此不能只把相关包放最前边,因此需要再找办法。
断点调试发现pyside2中会导入pyqt5的qtcore,找不到dll就是在这一步报错的,因此我安装了pyqt5,但是依然没有解决问题。结合第一种情况,可能是版本不对。对于pyside2的版本是
5.15.1
5.15.1
5.15.1,因此将pyqt5的版本与之对应,也安装
5.15.1
5.15.1
5.15.1的版本。
这种方法解决了
dll报错的问题
可以综上三种方法解决问题,主要检查版本对应问题,以及重装包的时候注意卸载依赖包。还有install的时候可能存在由于权限导致的安装不完整问题,在启动prompt的时候用管理员方式运行。