Python 2.7 在 Ubuntu 上导入 PyQt4.QtDeclarative 或 PyQt4.Qt 时崩溃

Python 2.7 crashes when importing PyQt4.QtDeclarative or PyQt4.Qt on Ubuntu

前段时间(几个月?)程序 rqt_plot 在我的机器上启动时 (SIGSEGV) 开始崩溃。我终于更深入地追踪它,发现问题发生在 python 尝试导入 PyQt4.QtDeclarative 时。不幸的是,我不记得这是什么时候开始发生的,我的互联网搜索也没有任何结果。任何想法出了什么问题?我怀疑某个地方有不兼容的包更新,但不知道如何找到根本原因。

这是一个简单的会话记录:

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from PyQt4 import QtDeclarative
Segmentation fault (core dumped)
$

这是一些系统信息:

$ uname -a
Linux [HOSTNAME] 3.13.0-63-generic #103-Ubuntu SMP Fri Aug 14 21:42:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ echo $PYTHONPATH

$ which python
/usr/bin/python
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Jan  8  2015 /usr/bin/python -> python2.7

跟进:

后来发现我在做import PyQt4.Qt的时候也遇到了同样的问题(Segmentation fault)

当唯一的错误消息是

时,可能很难诊断段错误
Segmentation fault (core dumped)

在这种情况下,因为 python-qt4 的重新安装根本不需要太多时间,我建议您通过 运行:

sudo apt-get install --reinstall python-qt4

编辑:看起来 OP 在执行 import PyQt4.Qt 时遇到了另一个段错误。这可能与 python-sip 有关,它是 python-pyqt4 的依赖项。要消除段错误,请通过 运行:

重新安装 python-sip
sudo apt-get install --reinstall python-sip