我已经在很多帖子中看到过这个问题,但没有一个答案对我有帮助。 所以,这是我的问题。
我在窗户上。 我有python 3.6版本
1)我下载一个PyQt4的轮文件(PyQt4-4.11.4-cp36-cp36m-win_amd64.whl): http://www.lfd.uci.edu/~gohlke/pythonlibs/
我把它保存在这里:C:\ Users \ Anne-Sophie
2)我以管理员身份打开一个shell窗口,然后运行“pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl”
即使收到消息,安装似乎也能正常工作:
Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
当我重新运行“pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl”时,我仍然收到此消息,但我也得到"Requirement already satisfied: PyQt4==4.11.4 from file:///C:/WINDOWS/system32/PyQt4-4.11.4-cp36-cp36m-win_amd64.whl in c:\users\anne-sophie\anaconda3\lib\site-packages"
3)现在,当我打开一个python笔记本并写“import PyQt4
”时,我没有收到任何错误。
但是当我写from PyQt4 import QtGui
时,我收到错误消息:ImportError: cannot import name 'QtGui'
4)我去了C:\Users\Anne-Sophie\Anaconda3\Lib\site-packages\PyQt4
,我看到QtGui不在PyQt4中,而是在PyQt4 / sip中,所以我写from PyQt4.sip import QtGui
这是有效的....
5)我使用PyQt4访问此网站以获取初学者: https://pythonprogramming.net/basic-gui-pyqt-tutorial/
我写道:
import sys
from PyQt4.sip import QtGui
app = QtGui.QApplication(sys.argv)
我收到错误:AttributeError: module 'PyQt4.sip.QtGui' has no attribute 'QApplication'
最后,这是我的问题:
Q1:如果导入PyQt4,你认为
Q2:你知道我做错了什么吗?没有人使用Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
是一个问题(第2步) 工作from PyQt4.sip import QtGui
所以我不确定我应该这样做.....此外, 即使我这样做,当我走得更远时,我仍然会得到错误问题3:有人知道如何使其发挥作用吗?
答案 0 :(得分:0)
Q1:我认为您收到错误消息('PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist
),因为您从与保存wheel文件的位置不同的目录运行pip
命令,因此pip无法找到车轮文件。它可能继续下载并从Python Package索引下载,因为第二次运行Pip它说已经安装了PyQt4。
Q2:不,您的导入语句中不应该有sip
。只需from PyQt4 import QtGui
即可。您的安装有问题。
问题3:问题很可能是您使用PyQt4
在Anaconda的pip
软件包旁边安装了pyqt
(您可以查看conda list
命令)。你不能为PyQt做这件事。 Pip和Anaconda通常可以很好地协同工作,但是在PyQt的情况下,它们并不是因为包装名称不同。
我建议您重新安装Anaconda,然后仅使用Anaconda安装PyQt。
也许你已经尝试了这个,但是因为PyQt4不适用于Python 3.6而使用了pip。如果您只想尝试本教程,可以降级到Python 3.5。另一种选择是使用PyQt5。与PyQt4最大的区别在于QtGui
包已分为QtWidgets
和QtGui
。因此,将示例转换为PyQt5应该很容易。