导入错误:找不到PyQt4.QtCore模块。

23

我重新安装了SSH服务器,因此还需要重新安装Python包。

我已经这样做了,但是仍然出现错误:

ImportError: No module named PyQt4.QtCore

我已经成功安装了:

sudo apt-get install libqt4-dev

不过它仍然无法工作,因此我尝试了PyQt4的安装指南

所以我首先尝试安装SIP,但是当我运行"make"时,我遇到了这个错误:(请参见本页末尾的"构建"部分)

但是我收到了这个错误:

make[1]: Entering directory `/home/francis/Downloads/sip-4.12.4/sipgen'
g++  -o sip main.o transform.o gencode.o extracts.o export.o heap.o parser.o lexer.o 
make[1]: g++: Command not found
make[1]: *** [sip] Error 127
make[1]: Leaving directory `/home/francis/Downloads/sip-4.12.4/sipgen'
make: *** [all] Error 2

我需要做些什么?或者还有其他安装PyQt4的方法吗?

谢谢!


9
请尝试运行命令apt-get install python-qt4进行安装。 - utdemir
https://www.saltycrane.com/blog/2008/01/how-to-install-pyqt4-on-ubuntu-linux/ - parasrish
7个回答

33

如评论中所提到的,您需要安装 python-qt4 包 - 不需要自己编译。

sudo apt-get install python-qt4


1
就我所知,我在Windows系统上也遇到过类似的问题。但这个脚本在我的Linux机器上,使用相同版本的Python运行良好。你可以从以下链接下载正确的二进制文件(选择与你的Python安装版本匹配的): http://www.riverbankcomputing.co.uk/software/pyqt/download - John T

14

我遇到了同样的错误 - ImportError: No module named PyQt4.QtGui。与其在终端上运行使用PyQt的Python文件,不如

python file_name.py

使用sudo特权运行 -

sudo python file_name.py

这对我起作用了!


2
这通常是一个不好的想法。首先,如果您正在虚拟环境中运行Python(应该是这样),那么sudo将使进程跳出该环境。它也不具备可移植性,可能不安全...最好弄清楚如何在您的环境中正确安装。 - Roman

4

当我卸载我的Python27并重新安装它时,我遇到了同样的问题。

我下载了sip-4.15.5和PyQt-win-gpl-4.10.4并安装/配置了它们。但仍然出现“ImportError: No module named PyQt4.QtCore”错误。我试图将Lib文件/文件夹移动到看起来“有”的位置,但是并没有起作用。

实际上,只需从http://www.riverbankcomputing.co.uk/software/pyqt/download下载适合Python版本(在我这个案例中是Windows 64位安装程序),然后安装即可解决问题。

* 2017年3月更新 *

给定的链接指出,不再提供Windows的二进制安装程序。

请参阅cgohlke在PyQt4 and 64-bit python中的回答。

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4下载.whl文件。
  2. 使用pip安装下载的.whl文件。

2
我遇到了“没有名为PyQt4.QtCore的模块”的错误,安装python-qt4包只部分地解决了它:我可以运行。
from PyQt4.QtCore import SIGNAL

我希望能够在不激活虚拟环境的情况下从Python解释器中导入模块。

目前我找到的唯一使用虚拟环境的方法是将PyQt4文件夹和sip.so文件复制到虚拟环境中,如此处所述: 是否可以在Virtualenv沙盒中添加PyQt4 / PySide软件包?


谢谢,但我在哪里可以找到sip.so文件? - Sakeer
@Kukku 抱歉,我不知道。我的回答已经五年了,我已经不记得 sip.so 是什么了。 - Sergio Morstabilini
我找到了解决方法,它就在站点包文件夹中。谢谢伙计。 - Sakeer

1

您没有安装g++,获取所有必需的构建工具的简单方法是安装build-essential软件包:

sudo apt-get install build-essential

或者只需安装g++软件包:

sudo apt-get install g++

0

当我尝试导入matplotlib.pyplot时,遇到了同样的错误。

In [1]: import matplotlib.pyplot as plt
...
...
ImportError: No module named PyQt4.QtCore

但在我的情况下,问题是由于缺少Linux库 libGL.so.1 引起的

操作系统:CentOS 64位

Python版本:3.5.2

$> locate libGL.so.1

如果这个命令返回一个值,那么你的问题可能不同,请忽略我的答案。如果它没有返回任何值,并且你的环境与我的相同,下面的步骤将解决你的问题。
$> yum install mesa-libGL.x86_64

这将安装64位CentOS所需的OpenGL库。

$> locate libGL.so.1
/usr/lib/libGL.so.1

现在回到 iPython 并尝试导入

In [1]: import matplotlib.pyplot as plt

这次导入成功了。


0

尝试使用这个命令来解决你的问题。

sudo apt install build-essential python3-dev libqt4-dev

在Python3中这对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接