PyQt4导入错误

时间:2015-11-23 02:21:18

标签: python qt pyqt4

我已经下载了PyQt4,并且能够在空闲时使用它而没有任何问题。但是,当我尝试在终端中执行命令时,我收到错误

ImportError: No module named PyQt4

enter image description here

我运行的代码如下:

User-MacBook-Pro:Python $ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
User-MacBook-Pro:Python $ pyuic4 Print.ui>Print_ui.py
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/uic/pyuic.py", line 26, in <module>
    from PyQt4 import QtCore
ImportError: No module named PyQt4

我希望能就这个问题得到一些指导。

谢谢

1 个答案:

答案 0 :(得分:4)

我已经解决了同样的问题,我发现问题出在'pyuic4'文件中。设置了错误的python版本。

您可以运行代码 - which pyuic4 - 找到pyuic4的位置,然后通过texteditor打开此文件(例如.Sublime Text)。之后,您将在此文件中找到一行代码:

#!/bin/sh
exec pythonw2.7 //anaconda/lib/python2.7/site-packages/PyQt4/uic/pyuic.py ${1+"$@"}

因此,pyuic4的功能是调用pythonw2.7并运行pyuic.py

在我的计算机中,我安装了anaconda,因此PyQt4文件存储在anaconda PATH中,但pythonw2.7将使用Apple supplid Python。在这种情况下,pythonw2.7无法导入模块PyQt4。将其更改为属于anaconda的pythonw将解决问题。

在您的问题中,我认为您可以查看python版本,并将pyuic.py中的默认版本pythonw更改为正确的版本。

只需使用pythonw运行以下文件:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/uic/pyuic.py

如果返回结果为:

Error: one input ui-file must be specified

而不是:

Traceback (most recent call last):
  File "//anaconda/lib/python2.7/site-packages/PyQt4/uic/pyuic.py", line 26, in <module>
    from PyQt4 import QtCore
ImportError: No module named PyQt4

pythonw是正确的版本。