python exit code 139_Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

博主在使用Qt写窗口程序时遇到运行报错,原本认为是Qt4和Qt5模块同时导入导致的问题,但通过单独测试Qt4模块发现依然存在错误。进一步排查后,博主发现缺少PyQt4_gpl_x11模块,重新安装PyQt4后问题得到解决,程序成功运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Qt写了个窗口,运行报错,无法正常运行python程序,获得的报错信息如下:

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

经过仔细查看发现是在使用Qt模块导入了Qt4和Qt5两个模块(存在重合的部分),部分代码如下:

//Qt5

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QFont, QBrush

from PyQt5.QtWidgets import QTableWidget

from PyQt4 import Qt //QT4

class Ui_TabWidget(object):

def setupUi(self,TabWidget):

TabWidget.setObjectName("TabWidget")

TabWidget.resize(962, 618)

self.tab = QtWidgets.QWidget()

self.tab.setObjectName("tab")

self.lineEdit = QtWidgets.QLineEdit(self.tab)

self.lineEdit.setGeometry(QtCore.QRect(10, 20, 291, 31))

self.lineEdit.setObjectName("lineEdit")

self.label = QtWidgets.QLabel(self.tab)

self.label.setGeometry(QtCore.QRect(310, 30, 54, 21))

self.label.setObjectName("label")

self.fontComboBox = QtWidgets.QFontComboBox(self.tab)

self.fontComboBox.setGeometry(QtCore.QRect(350, 20, 161, 31))

self.fontComboBox.setObjectName("fontComboBox")

self.pushButton = QtWidgets.QPushButton(self.tab)

......

我尝试着去除Qt4和Qt5重合导入的模块,运行发现可以成功,自以为这就是失败的原因了,为了放心我又单独测试了一下导入Qt4,代码如下:

# !/usr/bin/env python

# -*- encoding:utf-8 -*-

import sys

from PyQt4 import QtCore, QtGui, QtWidgets

if __name__ == '__main__':

app = QtWidgets.QApplication(sys.argv)

w = QtWidgets.QWidget()

w.resize(250, 150)

w.move(300, 300)

w.setWindowTitle('helloworld')

w.show()

sys.exit(app.exec_())

结果运行如下:

/usr/bin/python2.7 ~/helloworld

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

如此可以发现,不是由于重复导入模块而导致运行失败的,可以确认是由于Qt4模块自身出现了异常,猜测可能是由于sip导致Qt4模块的异常,然后发现我并没有PyQt4_gpl_x11,为了验证,我重新安装了PyQt4来验证,Ubuntu中安装配置过程如下:

cd sip-4.19.3/

sudo python configure.py

sudo make install

2)安装Qt4的依赖

sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev

3)安装PyQt4

cd PyQt4_gpl_x11-4.12.1

sudo python configure.py

sudo make

sudo make install

重新运行,成功运行!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值