2017-08-08 263 views
0

我在很多帖子中已经看到这个问题,但没有任何答案对我有帮助。 所以,这是我的问题。无法从PyQt4导入QtGui

我在窗户上。 我有蟒蛇3.6版本

1)我下载中心车轮文件(PyQt4中的PyQt4-4.11.4-CP36-cp36m-win_amd64.whl)有: http://www.lfd.uci.edu/~gohlke/pythonlibs/

而且我在这里保存的是:C: \用户\安妮 - 索菲•

2)我打开一个shell窗口admin和我运行 “PIP安装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安装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)我去这个网站beginers与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'

Finally here are my questions:

Q1: do you think that Requirement 'PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist is a problem (step 2) if import PyQt4 is working?

Q2: do you know what I am doing wrong? nobody is using from PyQt4.sip import QtGui so I am not sure that I should do it..... Moreover, even when I do it, I still get error when I go further

Q3: does someone know how to make it work?

回答

0

Q1:我认为你的错误消息('PyQt4-4.11.4-cp36-cp36m-win_amd64.whl' looks like a filename, but the file does not exist),因为您从不同的目录下保存轮文件pip命令,所以点无法找到车轮文件。它可能会继续并从Python Package索引中下载它,因为第二次运行Pip时,它说PyQt4已经安装。

Q2:不,您的进口报表中不应该有sip。只要from PyQt4 import QtGui应该工作。您的安装有问题。

Q3:问题是最有可能是您使用pip旁边pyqt包蟒蛇的安装PyQt4(你可以检查此与conda list命令)。你不能这样做PyQt。 Pip和Anaconda通常可以很好地协同工作,但是在PyQt的情况下,它们并不是因为软件包名称不同。

我建议您重新安装Anaconda,然后仅使用Anaconda安装PyQt。

也许你已经试过这个,但用pip去,因为PyQt4不适用于Python 3.6。如果你只想试试这个教程,你可以降级到Python 3.5。另一种选择是使用PyQt5。与PyQt4最大的区别在于QtGui包已被拆分为QtWidgetsQtGui。因此,将示例翻译成PyQt5应该很容易。