所以,我有一个 .py 文件:
from PyQt4.QtGui import *
from PyQt4.QtCore import *
当我执行它时 - 我收到以下错误消息:
Traceback (most recent call last):
File "kek.py", line 1, in <module>
from PyQt4.QtGui import *
ModuleNotFoundError: No module named 'PyQt4.sip'
我尝试安装啜本身,我已经安装了Qt4,PyQt4但它不起作用。帮帮我吧,伙计们
答案1
我试图重现你的错误,事实上我成功地做到了这一点。我有一个Debian系统,所以我使用apt来安装所有我想安装的软件包。
我尝试在交互式Python环境中运行(抱歉术语不好,我不精通Python:我只使用它几次来解决非常简单的数学问题)代码
from PyQt4.QtGui import *
但它不起作用。
解决问题的第一个尝试是安装软件包pyqt4-dev-tools
和pyqt4.qsci-dev
,但这并没有解决问题。所以我尝试安装该软件包python-qt4
,它恰好已经安装在我的系统中。然后我尝试安装python-qtpy
,也没有成功。然后我偶然发现StackOverflow 上的这个问题,这让我觉得我使用了错误的 python 版本(默认情况下我使用 python 3.7),所以我尝试在 python 2.7 中运行上述命令并有效。
现在,因为我对 python 3 缺乏支持感到失望,所以我尝试寻找一些有关 qt 和 python 3 的其他软件包,我发现了python3-qtpy
.我安装了它,但命令...仍然不起作用。但是,在安装时,我注意到它正在安装 qt 库的版本 3,因此我尝试在交互式 python 3 环境中运行,from PyQt5.QtGui import *
并且有效。
一些注意事项:我看到它也python3-sip
与一起安装python3-qtpy
,并且我已经在我的系统上安装了该软件包python-sip
;不确定这是否有帮助。我要指出的另一个说明是,我使用 Debian,但您没有指定您的发行版。这通常不会成为问题,因为 python 不应该依赖于它所运行的操作系统,但是,使用apt
Debian 存储库来安装所有必需的依赖项可能是问题解决方案中的一个影响变量。正如我之前提到的,我很少使用 python,但我知道你可以使用它pip
来安装新的“包”或StackOverflow 答案使用酿造。唯一需要检查的是您安装包的 python 版本。编辑:如果您需要它,请查看pip 上的 python qtpy 版本 4和pip 上的 python qtpy 版本 5
现在,我尝试尽可能详细地解释我为解决导入问题所做的事情,但如果您还有其他问题,请随时在下面添加评论。
希望这可以帮助。
答案2
在 ArchLinux 上,我需要额外安装python-sip-pyqt4
AUR 软件包。sip
显然不是python-pyqt4
包的一部分。