导入错误:没有名为 PytQt5 的模块

问题描述 投票:0回答:9

以下是我的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

我尝试通过 this

导入 PyQt5
from PyQt5.QtWidgets import QtGui, QtCore

我收到以下错误

导入错误:没有名为 PyQt5.QtWidgets 的模块

我该如何解决这个错误。

已更新=====================

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

从 PyQt4.QtCore import pyqtSlot as 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 并按 Enter)

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 并按 Enter)

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
python pyqt5
9个回答
42
投票

如果您使用的是 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]


33
投票

pip install pyqt5
用于 ubuntu 的 python3


18
投票

在 MacOS X 下可以通过用brew 安装 pyqt 来解决这个问题

brew install pyqt

8
投票

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

重做后,我在问题的最后更新中收到了错误。因此,当我在堆栈中搜索时,我从here

得到了以下解决方案
sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7

然后,我一步步执行“sudo make”和“sudo make install”。 “sudo make install”后,出现以下错误。但我忽略了它,我用 qt Designer 创建了一个简单的设计。我通过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)

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
请参阅我在此处学到的内容:

Python 3.7.0 没有名为“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
    

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库所在文件夹的路径。


2
投票
在 Windows 上,

pip install pyqt5

,为我解决了这个问题。


1
投票
您可以尝试使用管理员用户选项打开 anaconda-prompt;

conda install pyqt=5
    

0
投票
可能是python版本不同造成的,检查一下你用的是哪个版本的python,我的全局版本是2.7,虚拟环境中安装的python版本是3.8,所以有区别,所以我运行里面的main.py环境好而且有效。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.