首页 > 解决方案 > PyQt4.QtGui 致命 Python 错误:非法指令

问题描述

我试图在 Raspbian OS 上运行 Python PyQt4 程序,但它无法执行。在 Windows 上它工作正常。我发现导入 QtGui 时会发生错误。

对我来说奇怪的是一些模块加载正常(PyQt4.QtCore),但其他模块引发错误并重新启动外壳(PyQt4.QtGui、PYQt4.QtTest、PyQt4.QtHelp)。

这是来自 Python shell 的错误:

>>> import PyQt4
>>> from PyQt4 import QtCore
>>> from PyQt4 import QtGui
Backend terminated (returncode: -4)
Fatal Python error: Illegal instruction

Current thread 0x76fc2010 (most recent call first):
  File "<frozen importlib._bootstrap>", line 222 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 914 in create_module
  File "<frozen importlib._bootstrap>", line 577 in module_from_spec
  File "<frozen importlib._bootstrap>", line 666 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 958 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 969 in _find_and_load
  File "<frozen importlib._bootstrap>", line 222 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1016 in _handle_fromlist
  File "<pyshell>", line 1 in <module>
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 588 in execute_source
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 427 in _execute_source_ex
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 404 in _execute_source
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 167 in _cmd_execute_source
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 119 in handle_command
  File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 97 in mainloop
  File "/usr/lib/python3/dist-packages/thonny/shared/backend_launcher.py", line 41 in <module>
Resetting ...
>>> 

首先,我尝试更新设备...

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

...但它并没有解决问题。

所以我尝试重新安装python3和pyqt4,这也没有帮助。

sudo apt-get install --reinstall python3
sudo apt-get install --reinstall python3-pyqt4

如果我检查 pyqt4 模块,则应安装所有软件包。

sudo apt-cache show python3-pyqt4

Description: Python3 bindings for Qt4
 PyQt4 exposes the Qt4 API to Python3. The following modules are supported:
  * QtCore
  * QtDBus
  * QtGui
  * QtNetwork
  * QtXml
  * QtScript
  * QtSvg
  * QtTest
  * QtAssistant
  * QtOpenGL (in python3-pyqt4.qtopengl)
  * QtSql (in python3-pyqt4.qtsql)
  * phonon (in python3-pyqt4.phonon)
Description-md5: 54b67afe2dab0fdf3d94483cba3da06a

附加信息:

标签: pythonlinuxraspberry-pipyqt4raspbian

解决方案


推荐阅读