我需要安装qscintilla
. 我为此使用 pip:
> pip install qscintilla
PyQt5自动升级到最新版本'5.8.2',sip升级到'4.19.2'。我想这与 qscintilla 的需求有关。也许最新版本的 qscintilla 需要最新的 PyQt 版本才能正常运行。
不幸的是,PyQt5-5.8.2 结合 sip-4.19.2 在 Windows 10 上不起作用。我收到以下错误:
> python
>>> import PyQt5.QtWidgets
ImportError: DLL load failed: The specified module could not be found.
我在 Windows 10 中检查了我的 PATH 变量,并找到了以下目录:C:\Anaconda3\Library\bin
. 我检查了那个文件夹,所有的 dll 都存在:Qt5Widgets.dll
、'Qt5Gui.dll`、......所以我简直不敢相信 Python 找不到它们。
我现在将介绍迄今为止我尝试过的事情。
1. 全新安装 Anaconda => 升级 PyQt5。
我已经从我的 PC 中完全删除了 Python,并从头开始安装 Anaconda:适用于 64 位 Windows 的 Python 3.6。
Anaconda 附带旧版本的 PyQt5。我检查这样的版本:
> python
>>> from PyQt5.QtCore import QT_VERSION_STR
>>> from PyQt5.Qt import PYQT_VERSION_STR
>>> from sip import SIP_VERSION_STR
>>>
>>> QT_VERSION_STR
>>> '5.6.2'
>>> PYQT_VERSION_STR
>>> '5.6'
>>> SIP_VERSION_STR
>>> '4.18'
我只是升级我的 PyQt 版本,因为我知道 qscintilla 安装无论如何都会这样做。如果在升级 PyQt 之后(以及在安装 qscintilla 之前)出现问题,我可以排除可能由 qscintilla 安装引起的问题。所以我们开始:
> pip install pyqt5 --upgrade
Collecting pyqt5
...
Successfully installed pyqt5-5.8.2 sip-4.19.2
不出所料,升级版的pyqt导致报错:
> python
>>> import PyQt5.QtWidgets
ImportError: DLL load failed: The specified module could not be found.
2. 安装 PyQt5-5.7.1 而不是 PyQt5-5.8.2。
我在这个页面上找到了来自 PyQt5-5.7.1 的轮文件:https
://pypi.python.org/pypi/PyQt5/5.7.1 我希望 qscintilla 也能在这个上工作。毕竟,这是一个相当新的版本。但首先,我想知道我是否正确安装了它,以及上面的错误是否已经消失。
> pip uninstall PyQt5
> pip uninstall sip
>
> pip install C:\..\Downloads\PyQt5-5.7.1-5.7.1-cp34.cp35.cp36-none-win_amd64.whl --no-cache-dir
...
Successfully installed pyqt5-5.7.1 sip-4.19.2
不幸的是,错误仍然存在。
3. StackOverflow 的回答。
我已经检查了 StackOverflow 上的几篇文章,但没有一个帮助我。
这篇文章太旧了:PyQt5 : The DLL load failed : the specified module could not be found
这篇文章给出了一个可能的原因:“可能是因为 pyqt .pyd 文件与 python3.dll 链接,而不是 python3.6 dll。” 导入 PyQt5 时 DLL 加载失败。答案表明我应该使用旧版本的 PyQt5。我已经尝试过了(见上文),但它仍然失败。答案还建议从源代码构建 PyQt5。我也试过了,但是构建过程卡住了..
谁能帮我?或许你已经成功地将最新的 PyQt5-5.8.2 版本从源代码构建成一个 Wheel 文件了?如果你分享那个文件,我会很高兴。