解決jupyter運(yùn)行pyqt代碼內(nèi)核重啟的問題
在jupyter notebook或者是 Qtconsole下編譯運(yùn)行一個(gè)簡(jiǎn)單的pyqt程序,總是報(bào)錯(cuò):
The kernel appears to have died. It will restart automatically.
from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import sys app = QApplication(sys.argv) window = QWidget(); window.show() app.exec_()

在網(wǎng)上找了半天原因,終于在一個(gè)小角落發(fā)現(xiàn)了問題所在?,F(xiàn)在記下來。
這是因?yàn)閖upyter本身也是用pyqt編寫的,python同時(shí)只能運(yùn)行一個(gè)內(nèi)核。在上述代碼最后一行一下子把內(nèi)核給停止了,所以就導(dǎo)致了重啟。
改成
sys.exit(app.exec_())
這樣再運(yùn)行結(jié)束程序是只會(huì)結(jié)束本程序 不會(huì)終止內(nèi)核 。問題解決。
但是這樣也引入了一個(gè)新的問題
An exception has occurred, use %tb to see the full traceback
因?yàn)檫@個(gè)程序直接調(diào)用sys.exit直接終止的 。不過影響不大。
總結(jié):這兩個(gè)錯(cuò)誤都是在IPython交互環(huán)境下才會(huì)報(bào)錯(cuò),腳本運(yùn)行時(shí)不會(huì)報(bào)錯(cuò)。如果對(duì)報(bào)錯(cuò)介意的話 ,就還是使用命令行執(zhí)行程序吧。
以上這篇解決jupyter運(yùn)行pyqt代碼內(nèi)核重啟的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python Pygame實(shí)戰(zhàn)之超級(jí)炸彈人游戲的實(shí)現(xiàn)
如今的玩家們?cè)跓o聊的時(shí)候會(huì)玩些什么游戲呢?王者還是吃雞是最多的選擇。但在80、90年代的時(shí)候多是一些很簡(jiǎn)單的游戲:《超級(jí)瑪麗》、《魂斗羅》等。本文將利用Pygame制作另一個(gè)經(jīng)典游戲—炸彈人,感興趣的可以了解一下2022-03-03
解決django跨域的問題小結(jié)(Hbuilder X)
使用Django開發(fā)時(shí),可能會(huì)遇到跨域問題,尤其是當(dāng)后端與HbuilderX開發(fā)的前端結(jié)合使用時(shí),解決此問題的關(guān)鍵步驟包括安裝django-cors-headers庫(kù),并在Django的settings.py中進(jìn)行相應(yīng)配置,本文給大家介紹解決django跨域的問題小結(jié),感興趣的朋友一起看看吧2024-10-10
python 文件的基本操作 菜中菜功能的實(shí)例代碼
這篇文章主要介紹了python 文件的基本操作 菜中菜功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
Python設(shè)計(jì)模式之享元模式原理與用法實(shí)例分析
這篇文章主要介紹了Python設(shè)計(jì)模式之享元模式原理與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了享元模式的相關(guān)概念、原理、定義及使用方法,需要的朋友可以參考下2019-01-01
Python解析器Cpython的GIL解釋器鎖工作機(jī)制
這篇文章主要為大家介紹了Cpython的GIL解釋器鎖工作機(jī)制掌握示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
python實(shí)現(xiàn)指定字符串補(bǔ)全空格的方法
這篇文章主要介紹了python實(shí)現(xiàn)指定字符串補(bǔ)全空格的方法,涉及Python中rjust,ljust和center方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

