ImportError:没有名为PytQt5的模块

Thu*_* Ra 24 python pyqt5

以下是我的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
Run Code Online (Sandbox Code Playgroud)

我试图通过以下操作来导入PyQt5

from PyQt5.QtWidgets import QtGui, QtCore
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

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

我该如何解决这个错误.

更新=====================

当我尝试PyQt4时,我得到了以下错误.

从PyQt4.QtCore导入pyqtSlot作为Slot RuntimeError:sip模块实现API v10.0到v10.1但PyQt4.QtCore模块需要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
Run Code Online (Sandbox Code Playgroud)

art*_*rpi 27

如果您使用的是ubuntu,只需使用apt-get命令安装pyqt5 :

    sudo apt-get install python3-pyqt5   # for python3
Run Code Online (Sandbox Code Playgroud)

要么

    sudo apt-get install python-pyqt5    # for python2
Run Code Online (Sandbox Code Playgroud)

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


Dur*_*mar 9

pip install pyqt5 对于python3 for ubuntu


tom*_*tom 8

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

brew install pyqt
Run Code Online (Sandbox Code Playgroud)


Thu*_* Ra 7

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

重做之后,我在我的问题上得到了错误.所以,当我在堆栈搜索时,我从这里得到了以下解决方案

sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7
Run Code Online (Sandbox Code Playgroud)

然后,我一步一步地做了"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)
Run Code Online (Sandbox Code Playgroud)


Gab*_*les 6

在 Linux Ubuntu 上测试。

如何在Python3中安装PyQt5

仅安装它对我来说不起作用。我必须先卸载它,然后重新安装:

# upgrade pip
python3 -m pip install --upgrade pip

# uninstall
python3 -m pip uninstall PyQt5
python3 -m pip uninstall PyQt5-sip
python3 -m pip uninstall PyQtWebEngine

# reinstall
python3 -m pip install PyQt5
python3 -m pip install PyQt5-sip
python3 -m pip install PyQtWebEngine
Run Code Online (Sandbox Code Playgroud)

请参阅我在此处了解到的内容:Python 3.7.0 No module named 'PyQt5.QtWebEngineWidgets'

如果使用特定版本的Python3,并且上述方法不起作用,您可能需要像这样指定Python3的确切版本。这里我指定Python3.8,例如:

python3.8 -m pip install --upgrade pip

python3.8 -m pip uninstall PyQt5
python3.8 -m pip uninstall PyQt5-sip
python3.8 -m pip uninstall PyQtWebEngine

python3.8 -m pip install PyQt5
python3.8 -m pip install PyQt5-sip
python3.8 -m pip install PyQtWebEngine
Run Code Online (Sandbox Code Playgroud)


Dan*_*Dan 4

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

import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)

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

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

export PYTHONPATH=/path/to/PyQt5/directory:$PYTHONPATH
Run Code Online (Sandbox Code Playgroud)

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