39

以下是我的 python、qt 和 sip 版本

root@thura:~# python -V
Python 2.7.3
root@thura:~# qmake --version
QMake version 3.0
Using Qt version 5.0.2 in /usr/lib/i386-linux-gnu
root@thura:~# sip -V
4.15.3

我尝试通过以下方式导入PyQt5

from PyQt5.QtWidgets import QtGui, QtCore

我收到以下错误

ImportError:没有名为 PyQt5.QtWidgets 的模块

我该如何解决这个错误。

更新了======================

当我尝试 PyQt4 时,出现以下错误。

from PyQt4.QtCore import pyqtSlot as Slot RuntimeError: the sip module implements API v10.0 to v10.1 but the PyQt4.QtCore module requires API v8.1

2013-12-20 更新 =======================================

1) 从这里下载 sip-4.15.3.tar.gz

2) 提取 sip-4.15.3.tar.gz

3) 复制 sip-4.15.3 到 /home/thura

4) 输入“cd /home/thura/sip-4.15.3”

5)输入“python configure.py”,按回车,按照说明操作(输入yes并按回车)

6)输入“make”,回车,输入“make install”,回车

7) 从这里下载 PyQt-gpl-5.1.1.tar.gz

8)提取PyQt-gpl-5.1.1.tar.gz

9) 将 PyQt-gpl-5.1.1 文件夹复制到 /home/thura 文件夹。

10) 键入“cd /home/thura/PyQt-gpl-5.1.1”

11)输入“python configure.py”,按回车,按照说明(输入yes并按回车)

12)输入“make”,回车,输入“make install”,回车

更新 2013-12-20 ======================

重新做一遍之后。我收到以下错误

make[2]: Entering directory `/home/thura/PyQt/qpy/QtDBus'
make[2]: Nothing to be done for `install'.
make[2]: Leaving directory `/home/thura/PyQt/qpy/QtDBus'
make[1]: Leaving directory `/home/thura/PyQt/qpy'
cd QtCore/ && ( test -e Makefile || /usr/lib/i386-linux-gnu/qt5/bin/qmake /home/thura/PyQt/QtCore/QtCore.pro -o Makefile ) && make -f Makefile install
make[1]: Entering directory `/home/thura/PyQt/QtCore'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++ -I. -I/usr/local/include/python2.7 -I../qpy/QtCore -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I. -o sipQtCoreQtWindowStates.o sipQtCoreQtWindowStates.cpp
In file included from sipQtCoreQtWindowStates.cpp:24:0:
sipAPIQtCore.h:28:17: fatal error: sip.h: No such file or directory
compilation terminated.
make[1]: *** [sipQtCoreQtWindowStates.o] Error 1
make[1]: Leaving directory `/home/thura/PyQt/QtCore'
make: *** [sub-QtCore-install_subtargets-ordered] Error 2
4

7 回答 7

36

如果您在 ubuntu 上,只需使用以下apt-get命令安装 pyqt5:

    sudo apt-get install python3-pyqt5   # for python3

或者

    sudo apt-get install python-pyqt5    # for python2

但是,在 Ubuntu 14.04 上,python-pyqt5 包被遗漏了 [ source ] 并且需要手动安装 [ source ]

于 2016-04-23T03:25:08.587 回答
25

pip install pyqt5对于 python3 对于 ubuntu

于 2018-09-26T07:40:14.140 回答
13

这可以通过使用 brew 安装 pyqt 在 MacOS X 下解决

brew install pyqt
于 2018-01-17T09:02:19.597 回答
8

在得到@Blender、@ekhumoro 和@Dan 的帮助后,我比以前更了解Linux 和Python。谢谢你。我得到了@ekhumoro 的想法,是我没有正确安装 PyQt5。所以我删除了 PyQt5 文件夹并再次下载。并从一开始就重做一切。

重做后,我在我的问题上的最后一次更新得到了错误。所以,当我在堆栈中搜索时,我从这里得到了以下解决方案

sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7

然后,我一步一步地做了“sudo make”和“sudo make install”。在“sudo make install”之后,我得到了以下错误。但我忽略了它,我用 qt 设计器创建了一个简单的设计。我通过pyuic5将它转换成python文件。一切进展顺利。

install -m 755 -p /home/thura/PyQt/pyuic5 /usr/bin/
strip /usr/bin/pyuic5
strip:/usr/bin/pyuic5: File format not recognized
make: [install_pyuic5] Error 1 (ignored)
于 2013-12-20T10:44:56.823 回答
4

这可能意味着 python 不知道 PyQt5 的位置。要检查,请进入交互式终端并输入:

import sys
print sys.path

您可能需要做的是将包含 PyQt5 模块的目录添加到您的PYTHONPATH环境变量中。如果您使用bash,方法如下:

在 shell 中输入以下内容,并将其添加到文件末尾~/.bashrc

export PYTHONPATH=/path/to/PyQt5/directory:$PYTHONPATH

其中/path/to/PyQt5/directory是 PyQt5 库所在文件夹的路径。

于 2013-12-19T03:44:45.287 回答
2

在 Windows 上,“pip install pyqt5”为我解决了这个问题。

于 2021-03-15T07:35:46.397 回答
0

可能是python版本不同造成的,检查一下你用的是哪个版本的python,对我来说全局版本是2.7,虚拟环境安装的python版本是3.8,所以有区别,所以我在里面运行main.py环境和它的工作原理。

在此处输入图像描述

于 2021-07-22T07:30:18.007 回答