博客
关于我
解决jupyter运行pyqt代码内核重启
阅读量:129 次
发布时间:2019-02-27

本文共 611 字,大约阅读时间需要 2 分钟。

在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错:The kernel appears to have died. It will restart automatically.

from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *import sysapp = QApplication(sys.argv)window = QWidget();window.show()app.exec_()

这里写图片描述

在网上找了半天原因,终于在一个小角落发现了问题所在。现在记下来。
这是因为jupyter本身也是用pyqt编写的,python同时只能运行一个内核。在上述代码最后一行一下子把内核给停止了,所以就导致了重启。
改成

sys.exit(app.exec_())

这样再运行结束程序是只会结束本程序 不会终止内核 。问题解决。

但是这样也引入了一个新的问题

An exception has occurred, use %tb to see the full traceback

因为这个程序直接调用sys.exit直接终止的 。不过影响不大。

总结:这两个错误都是在IPython交互环境下才会报错,脚本运行时不会报错。如果对报错介意的话 ,就还是使用命令行执行程序吧。

你可能感兴趣的文章
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
Mysql学习总结(9)——MySql视图原理讲解与使用大全
查看>>
MySQL学习笔记十七:复制特性
查看>>
Mysql学习第一课-mysql的定义及sql语句
查看>>
mysql安全模式: sql_safe_updates
查看>>
mysql安装,卸载,连接
查看>>
MySQL安装之没有配置向导
查看>>
mysql安装出现 conflicts with mysql*的解决办法
查看>>
mysql安装卡在最后一步解决方案(附带万能安装方案)
查看>>
mysql安装和启动命令小结
查看>>
Mysql安装教程(命令行)
查看>>
mysql安装版安装
查看>>
MySQL安装配置教程(非常详细),从零基础入门到精通,看完这一篇就够了
查看>>
mysql安装配置简介
查看>>