Python 在Windows 7中安装PyQt5

Python 在Windows 7中安装PyQt5,python,windows,pyqt5,Python,Windows,Pyqt5,我用Python3.4编写了一个程序,我想为它制作一个GUI。我发现PyQt5-是它的工具 1) 我已经下载并安装了PyQt5()的二进制软件包 2) 我尝试用Python运行以下示例代码: import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) w = QWidget() w.resize(

我用Python3.4编写了一个程序,我想为它制作一个GUI。我发现PyQt5-是它的工具

1) 我已经下载并安装了PyQt5()的二进制软件包

2) 我尝试用Python运行以下示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec_())
Python返回错误:

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\PyQt5.py", line 2, in <module>
    from PyQt5.QtWidgets import QApplication, QWidget
  File "D:\PyQt5.py", line 2, in <module>
    from PyQt5.QtWidgets import QApplication, QWidget
ImportError: No module named 'PyQt5.QtWidgets'; 'PyQt5' is not a package
但如果我尝试跑步:

from PyQt5.QtWidgets import QApplication, QWidget
它返回与开头相同的错误

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\PyQt5.py", line 2, in <module>
    from PyQt5.QtWidgets import QApplication, QWidget
  File "D:\PyQt5.py", line 2, in <module>
    from PyQt5.QtWidgets import QApplication, QWidget
ImportError: No module named 'PyQt5.QtWidgets'; 'PyQt5' is not a package
回溯(最近一次呼叫最后一次):
文件“”,第2218行,在“查找”和“加载”中解锁
AttributeError:“模块”对象没有属性“\u_路径”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“D:\PyQt5.py”,第2行,在
从PyQt5.QtWidgets导入QApplication,QWidget
文件“D:\PyQt5.py”,第2行,在
从PyQt5.QtWidgets导入QApplication,QWidget
ImportError:没有名为“PyQt5.QtWidgets”的模块;“PyQt5”不是包
我做错了什么?

因为,包含输入脚本的目录位于所有其他搜索路径之前,除非
sys.path
列表被篡改

并且您的目录
D:\
已包含正在导入的模块
PyQt5
。尝试从非包的模块导入子模块
qtwidts
,会导致以下错误:

文件“D:\PyQt5.py”,第2行,在
从PyQt5.QtWidgets导入QApplication,QWidget
ImportError:没有名为“PyQt5.QtWidgets”的模块;“PyQt5”不是包

因此,不要用与包名相同的名称来调用程序文件。

对于谷歌人来说,这就是解决我问题的方法:

您需要确保导入sys并为import命令使用正确的大小写

import sys
from PyQt5 import QtGui

这是
PyQt5
字符串的正确大小写。我花了一段时间才弄明白。

您的代码是否包括
import sys
?是的,它确实包括“import sys”。但它不会改变这种情况(仍然给出相同的错误),所以我没有提到它。Pynchia,我编辑了有问题的代码。谢谢,但这没有帮助。问题在于导入QtWidgets或PyQt或Qt的其他部分。而不是在最后一行代码中。好的,然后它导入PyQt5,但它抱怨它不是一个包。找到它并检查它是否确实是一个包(即,其目录包含文件
\uuu init\uu.py
),如果我理解正确-是。有一个目录“c:\Python34\Lib\site packages\PyQt5\”,其中有一个文件init.py。(带下划线)
File "D:\PyQt5.py", line 2, in <module>
  from PyQt5.QtWidgets import QApplication, QWidget
ImportError: No module named 'PyQt5.QtWidgets'; 'PyQt5' is not a package
import sys
from PyQt5 import QtGui