最近在测试PySide项目,在新环境下报错了:ImportError: DLL load failed while importing Shiboken: 找不到指定的程序。
Traceback (most recent call last):
File "D:/xxx.py", line 10, in
from PySide6.QtWidgets import QApplication, QWidget
File "D:\Envs\pyside6\lib\site-packages\PySide6\__init__.py", line 124, in
_setupQtDirectories()
File "D:\Envs\pyside6\lib\site-packages\PySide6\__init__.py", line 64, in _setupQtDirectories
from shiboken6 import Shiboken
File "D:\Envs\pyside6\lib\site-packages\shiboken6\__init__.py", line 27, in
from shiboken6.Shiboken import *
ImportError: DLL load failed while importing Shiboken: 找不到指定的程序。
看到报错,以为是某些动态链接库在编译或者运行调用时出错了,也就尝试从这方面解决。网上搜索也大部分是这方面的内容。
但是,事实并不是这样,虽然我并没有深入尝试,并不确定能否按照网络上的方法解决这个问题。
而这个报错的根源在于Windows版的python3.8.0:
在PySide官网上,有如下相关描述
- ✦: 5.14 is the first version to support Python 3.8, but Python 3.8.0 will not work on Windows. Please use Python 3.8.1 or greater.
意思很明显的,pyside5.14是第一个支持python3.8的版本,但不会在python3.8.0环境下正常工作,请使用python3.8.1或者更新版本。
所以,将python环境切换成3.8.1,再安装pyside6, 运行正常。