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

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

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


  1. //Qt5
  2. from PyQt5 import QtCore, QtGui, QtWidgets
  3. from PyQt5.QtGui import QFont, QBrush
  4. from PyQt5.QtWidgets import QTableWidget
  5. from PyQt4 import Qt //QT4
  6. class Ui_TabWidget(object):
  7. def setupUi(self,TabWidget):
  8. TabWidget.setObjectName("TabWidget")
  9. TabWidget.resize(962, 618)
  10. self.tab = QtWidgets.QWidget()
  11. self.tab.setObjectName("tab")
  12. self.lineEdit = QtWidgets.QLineEdit(self.tab)
  13. self.lineEdit.setGeometry(QtCore.QRect(10, 20, 291, 31))
  14. self.lineEdit.setObjectName("lineEdit")
  15. self.label = QtWidgets.QLabel(self.tab)
  16. self.label.setGeometry(QtCore.QRect(310, 30, 54, 21))
  17. self.label.setObjectName("label")
  18. self.fontComboBox = QtWidgets.QFontComboBox(self.tab)
  19. self.fontComboBox.setGeometry(QtCore.QRect(350, 20, 161, 31))
  20. self.fontComboBox.setObjectName("fontComboBox")
  21. self.pushButton = QtWidgets.QPushButton(self.tab)
  22. ......

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

  1. # !/usr/bin/env python
  2. # -*- encoding:utf-8 -*-
  3. import sys
  4. from PyQt4 import QtCore, QtGui, QtWidgets
  5. if __name__ == '__main__':
  6. app = QtWidgets.QApplication(sys.argv)
  7. w = QtWidgets.QWidget()
  8. w.resize(250, 150)
  9. w.move(300, 300)
  10. w.setWindowTitle('helloworld')
  11. w.show()
  12. sys.exit(app.exec_())

结果运行如下:

  1. /usr/bin/python2.7 ~/helloworld
  2. Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

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

1)安装sip

地址:http://www.riverbankcomputing.co.uk/software/sip/download

  1. cd sip-4.19.3/
  2. sudo python configure.py
  3. sudo make install

2)安装Qt4的依赖

  1. sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
  2. sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev

3)安装PyQt4

  1. cd PyQt4_gpl_x11-4.12.1
  2. sudo python configure.py
  3. sudo make
  4. sudo make install

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

enjoytoday,enjoycoding

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)的更多相关文章

  1. [报错] Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

    今天下午做python的作业,我用PyQt5 中 利用QWebEngineView打开外部网页. 但是一直闪退,一运行就闪退. 显示报错:Process finished with exit code ...

  2. tensorflow Process finished with exit code 137 (interrupted by signal 9: SIGKILL) 错误

    Process finished with exit code 137 (interrupted by signal 9: SIGKILL) 在使用tensorflow自带的数据集做手写数字识别的时候 ...

  3. Pycharm出现Segmentation fault...(interrupted by signal 11: SIGSEGV)的解决方法

    众所周知,用pycharm远程服务器debug代码已经成为学习深度学习相关代码的有力工具,但是最近创建了一个虚拟环境,进行debug的时候,莫名会出现下面这个错误,看的我都抽风了 bash: line ...

  4. cordova Process finished with exit code -1

    安装完cordova之后,创建一个测试项目后,运行报Process finished with exit code -1,经过查找原因,是因为gradle没有安装,在http://www.androi ...

  5. [idea] - 项目启动报错Process finished with exit code 1

    今天运行项目发现一个bug, "C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:TieredStopAtLevel=1 - ...

  6. pycharm Process finished with exit code (0xC0000005)

    pycharm  Process finished with exit code  (0xC0000005)解决办法 上次报过这个错误,是在安装浏览器时发现的,报过同样的错误.按当时的方法,以为切地解 ...

  7. pycharm 出现Process finished with exit code 0 或 Process finished with exit code -1

    Process finished with exit code 0 意味着你的程序正常执行完毕并退出. 可以科普一下exit code,在大部分编程语言中都适用: exit code 0 表示程序执行 ...

  8. Android-AndroidStudio-AVD启动不了-emulator: Process finished with exit code 1

    注意:解决此错误目前只针对Windows系统的电脑: 1.AndroidStudio-->AVDManager(Create Virtual Device): 2.提示AVD启动不了,同时Eve ...

  9. spring boot 运行提示:Process finished with exit code 1

    spring boot 运行提示:Process finished with exit code 1 经检查发现是由于在application.properties配置文件中将某些自定义配置项移除了, ...

随机推荐

  1. IJKPlayer如何支持https

    给ijkplayer安装支持https 首先使用如下终端命令安装yasm 第一: 1. curl http://www.tortall.NET/projects/yasm/releases/yasm- ...

  2. 移动前端不得不了解的HTML5 head 头标签 —— link 标签

    目录 link 标签 rss订阅 不推荐的link标签 favicon 图标 link 标签 说到 link 标签,估计大家的第一反应和我一样,就是引入外部CSS样式文件的,不错,这是 link 标签 ...

  3. [TimLinux] 命令 procps-ng 包内命令介绍

    1. procps-ng包 System and process monitoring utilities. 2. 文件列表 free, pgrep, pkill, pmap, ps, pwdx, s ...

  4. 使用python实现数组、链表、队列、栈

    引言 什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表,集合和字 ...

  5. 从多核CPU Cache一致性的应用到分布式系统一致性的概念迁移

    概述 现代多核CPU的cache模型基本都跟下图1所示一样,L1 L2 cache是每个核独占的,只有L3是共享的,当多个cpu读.写同一个变量时,就需要在多个cpu的cache之间同步数据,跟分布式 ...

  6. NTFS在openwrt下的挂载问题

    在openwrt上市可以挂载ntfs分区的,但是如果原来如果搞过win,或者异常关机,那么会遇到以下的错误: root@Openwrt:/etc/config# mount -t ntfs -o rw ...

  7. Ubuntu18.04 配置Cups PDF虚拟打印机服务

    更新 sudo apt update && sudo apt upgrade -y 安装cups pdf服务 sudo apt-get install cups-pdf -y 修改配置 ...

  8. Java多态之向下转型

    目录 Java多态之向下转型 强制类型转换 instanceof Java多态之向下转型 往期回顾:我们学习了向上转型和动态绑定的概念,可以知道在继承关系中,将一个子类对象赋值给父类的引用变量,调用父 ...

  9. 【CV现状-1】磨染的初心——计算机视觉的现状:缘起

    #磨染的初心--计算机视觉的现状 [这一系列文章是关于计算机视觉的反思,希望能引起一些人的共鸣.可以随意传播,随意喷.所涉及的内容过多,将按如下内容划分章节.已经完成的会逐渐加上链接.] 缘起 三维感 ...

  10. ORACLE数据库中执行计划出现INTERNAL_FUNCTION一定是隐式转换吗?

    ORACLE数据库中,我们会使用一些SQL语句找出存在隐式转换的问题SQL,其中网上流传的一个SQL语句如下,查询V$SQL_PLAN的字段FILTER_PREDICATES中是否存在INTERNAL ...