0

我需要安装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-5.8.2 版本从源代码构建成一个 Wheel 文件了?如果你分享那个文件,我会很高兴。

4

3 回答 3

1

对我来说,根本问题是 PyQt wheel (5.9) 和 pyqt windows distro (5.6 - 最后一个可用的预编译版本) 的不同版本。

我找到了匹配的 5.6 轮子,但它只支持 Python 3.5。所以,我将 Python 降级到 3.5 并安装PyQt5-5.6-cp35-none-win_amd64.whl

pip install pyqt5==5.6 

效果同样好。

于 2017-08-23T13:27:01.037 回答
0

我找到了一种解决方法:不要使用 Anaconda。我从我的电脑中删除了 Anaconda 并进行了这样的全新安装:  
 

1.安装Python 64位

从以下 URL 下载适用于 Windows 的 64 位安装程序:https ://www.python.org/downloads/release/python-361/

确保在询问安装选项时  包含pip !
 

2.安装PyQt5

通过在 Windows 命令终端中键入以下内容来安装 PyQt5:

> pip install PyQt5 --no-cache-dir
...
Successfully installed PyQt5-5.8.2 sip-4.19.2

--no-cache-dir选项可确保pip不会使用存储在您计算机某处的旧版本,而是下载最新版本。  
 

3. 安装 QScintilla

像这样安装 QScintilla:

> pip install qscintilla --no-cache-dir
Successfully installed qscintilla-2.10
于 2017-04-05T20:20:24.047 回答
0

它确实适用于 Windows 10。您的应用程序无法访问指定的 DLL。需要重新启动才能使其正常工作。我浏览了 SO 论坛中的所有答案,结果发现重新启动计算机可以解决所有问题。所以重启你的电脑。

于 2019-06-30T08:14:57.390 回答