最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式

 更新時(shí)間:2020年04月10日 09:47:35   作者:樂(lè)且有儀  
這篇文章主要介紹了jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近在使用 Python notebook時(shí)老是出現(xiàn)python崩潰的現(xiàn)象,如下圖,誘發(fā)的原因是“KERNELBASE.dll”,異常代碼報(bào)“40000015”。

折騰半天,發(fā)現(xiàn)我啟動(dòng)notebook時(shí)是用自定義startup.bat方式方式啟動(dòng)的,bat文件的內(nèi)容為

start C:\Anaconda3\python.exe "C:/Anaconda3/Scripts/jupyter-notebook-script.py"

平時(shí)雙擊這個(gè)bat文件就行了,如果報(bào)這個(gè)莫名的錯(cuò)誤,是因?yàn)?span style="color: #ff0000">權(quán)限不對(duì),需要用管理員方式運(yùn)行,如圖,問(wèn)題解決!

補(bǔ)充知識(shí):jupyter notebook占用內(nèi)存空間過(guò)大打不開的解決辦法(包括但不限于爬蟲造成的)

jupyter notebook由于超過(guò)內(nèi)存限制而“鎖死”的解決
這兩天用爬蟲爬數(shù)據(jù)的時(shí)候由于print了大量的爬取內(nèi)容,讓notebook內(nèi)存溢出停止運(yùn)行,連帶著localhost:8888也崩潰了。Google Chrome的處理機(jī)制應(yīng)該是殺掉內(nèi)存溢出的頁(yè)面,所以localhost:8888刷新一下就恢復(fù)了。

但是!我的code找不回來(lái)了!不知道是什么機(jī)制,在文件里看到的大小只有不到45MB,但是一旦從localhost:8888里面打開,(用任務(wù)管理器看的)Chrome占用的內(nèi)存就遠(yuǎn)遠(yuǎn)超過(guò)這個(gè)數(shù)字,一直飆升到3GB的時(shí)候再次彈出來(lái)內(nèi)存不足的提示,同時(shí)頁(yè)面被殺掉。用pycharm嘗試更是失敗,比Chrome還吃內(nèi)存。

在經(jīng)歷了各種嘗試,上網(wǎng)搜了也沒(méi)有發(fā)現(xiàn)相關(guān)情況之后,自己偶然發(fā)現(xiàn)了解決辦法:

如何打開源文件:

在ipynb文件的地方選擇打開方式,用Chrome瀏覽器打開,頁(yè)面的觀感類似于網(wǎng)頁(yè)源碼,內(nèi)容是json格式的。

我能想到的幾種解決辦法:

第一種是笨辦法(核心思想:只要能夠打開源文件就可以把需要的東西復(fù)制下來(lái)),把重要的代碼復(fù)制出來(lái),比如到txt文件里面,再把格式用的一些字符去掉,如果代碼量不是很多可以這樣做;

這是一定能成功的辦法,就是麻煩了一些,就不多說(shuō)了。

第二種是重新構(gòu)造一個(gè)json文件(核心思想:既然我已經(jīng)知道ipynb本質(zhì)是json就可以仿造構(gòu)建一個(gè)可以打開的ipynb),導(dǎo)致問(wèn)題的只是一個(gè)block,所以把有問(wèn)題的block之外的所有block信息復(fù)制到一個(gè)txt文件,再重命名成ipynb,用jupyter notebook解析出來(lái)即可(甚至還可以直接繼續(xù)運(yùn)行);

實(shí)際可行性:我是用的第二種辦法,實(shí)測(cè)可行,簡(jiǎn)單快捷。要注意的是一定要把最末尾的ipynb格式信息復(fù)制上。知道ipynb構(gòu)造之后,覺(jué)得自己也能寫個(gè)網(wǎng)頁(yè)打開ipynb的程序了(大誤)

第三種思想是用Python直接讀取ipynb文件,然后小心地把重要代碼和結(jié)果還原。(核心思想:不管后綴名是什么,只要里面是json格式就可以用Python的json包load),這種方法一定要注意的一點(diǎn)是,要觀察好json文件里面的構(gòu)造,不要全部print!不要全部print!之前怎么死的還不長(zhǎng)記性嗎?只要一print之前內(nèi)存溢出的block就全部玩兒完,就又有了一個(gè)被鎖死的ipynb文件。

理論可行性:文件本身的大小只有幾十MB,輕輕松松就能存下,內(nèi)存溢出可能是因?yàn)閜rint的內(nèi)容在網(wǎng)頁(yè)中占用的資源成倍增加。我沒(méi)有嘗試這么做,因?yàn)殡S時(shí)需要存檔備份,小心臟受不了。

看到這兒基本上問(wèn)題就應(yīng)該解決了,下面補(bǔ)充一點(diǎn)問(wèn)題來(lái)源和教訓(xùn)

前因后果:為什么會(huì)內(nèi)存溢出

這是一個(gè)“雄心勃勃”的爬蟲,要爬的東西很多,所以會(huì)長(zhǎng)時(shí)間運(yùn)行。由于微博的反爬做的很好,我不確定什么時(shí)候會(huì)被屏蔽,同時(shí)需要debug嘛,所以就隔一段時(shí)間print爬到的網(wǎng)頁(yè)。另外為了觀察進(jìn)度還用了tqdm(非常好用,墻裂推薦),是為print的另一部分內(nèi)容。時(shí)間積累了很久(大概兩天多)就卡崩潰了。

經(jīng)驗(yàn)教訓(xùn):

1、執(zhí)行正式文件的時(shí)候還是最好備份一下,這次出問(wèn)題我的結(jié)果是保存在文件里面的,是code打不開了,由于是孤本所以還是有點(diǎn)慌的(主要是跟微博斗智斗勇那么多天不想再搞了)

2、可以試著在文件里面寫入日志,簡(jiǎn)單的就print也沒(méi)關(guān)系,這種長(zhǎng)時(shí)間運(yùn)行的程序還是需要考慮周全一點(diǎn)

附一個(gè)ipynb文件源文件格式示例:

內(nèi)容是hello world!

{
“cells”: [
{
“cell_type”: “code”,
“execution_count”: 1,
“metadata”: {},
“outputs”: [
{
“name”: “stdout”,
“output_type”: “stream”,
“text”: [
“hello world!\n”
]
}
],
“source”: [
“print(‘hello world!')”
]
},
{
“cell_type”: “code”,
“execution_count”: null,
“metadata”: {},
“outputs”: [],
“source”: []
}
],
“metadata”: {
“kernelspec”: {
“display_name”: “Python 3”,
“l(fā)anguage”: “python”,
“name”: “python3”
},
“l(fā)anguage_info”: {
“codemirror_mode”: {
“name”: “ipython”,
“version”: 3
},
“file_extension”: “.py”,
“mimetype”: “text/x-python”,
“name”: “python”,
“nbconvert_exporter”: “python”,
“pygments_lexer”: “ipython3”,
“version”: “3.7.3”
}
},
“nbformat”: 4,
“nbformat_minor”: 2
}

以上這篇jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python教程之成員和身份運(yùn)算符的用法詳解

    Python教程之成員和身份運(yùn)算符的用法詳解

    身份運(yùn)算符是python用來(lái)判斷的兩個(gè)對(duì)象的存儲(chǔ)單元是否相同的一種運(yùn)算符號(hào)。Python的成員運(yùn)算符是“是否包含運(yùn)算符”,主要應(yīng)用在字符串或者集合中。本文將通過(guò)示例聊聊二者的使用,需要的可以參考一下
    2022-09-09
  • python接口自動(dòng)化(十六)--參數(shù)關(guān)聯(lián)接口后傳(詳解)

    python接口自動(dòng)化(十六)--參數(shù)關(guān)聯(lián)接口后傳(詳解)

    這篇文章主要介紹了python接口自動(dòng)化參數(shù)關(guān)聯(lián)接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)

    Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)

    下面小編就為大家?guī)?lái)一篇Python對(duì)文件和目錄進(jìn)行操作的方法(file對(duì)象/os/os.path/shutil 模塊)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Python異常處理操作實(shí)例詳解

    Python異常處理操作實(shí)例詳解

    這篇文章主要介紹了Python異常處理操作,結(jié)合實(shí)例形式分析了Python常見(jiàn)的異常處理類型、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python自動(dòng)發(fā)郵件腳本

    Python自動(dòng)發(fā)郵件腳本

    本文主要介紹了Python自動(dòng)發(fā)郵件腳本的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Ubuntu配置Python環(huán)境的超詳細(xì)教程

    Ubuntu配置Python環(huán)境的超詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Ubuntu配置Python環(huán)境的超詳細(xì)教程,文中通過(guò)代碼示例將配置的過(guò)程介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-08-08
  • python遍歷數(shù)組的方法小結(jié)

    python遍歷數(shù)組的方法小結(jié)

    這篇文章主要介紹了python遍歷數(shù)組的方法,實(shí)例總結(jié)了兩種Python遍歷數(shù)組的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 利用Python破解斗地主殘局詳解

    利用Python破解斗地主殘局詳解

    斗地主應(yīng)該對(duì)大家來(lái)說(shuō)都不陌生,下面這篇文章主要跟大家分享了關(guān)于利用Python破解斗地主殘局的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • 書寫Python代碼的一種更優(yōu)雅方式(推薦!)

    書寫Python代碼的一種更優(yōu)雅方式(推薦!)

    Python是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,下面這篇文章主要給大家介紹了關(guān)于書寫Python代碼的一種更優(yōu)雅方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • python密碼學(xué)黑客攻擊RSA密碼

    python密碼學(xué)黑客攻擊RSA密碼

    這篇文章主要為大家介紹了python密碼學(xué)黑客攻擊RSA密碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論

广德县| 和田县| 宣化县| 冷水江市| 甘泉县| 龙江县| 曲水县| 东丰县| 县级市| 渑池县| 新兴县| 靖州| 饶阳县| 宁海县| 吉林省| 肇州县| 太湖县| 吉安市| 安吉县| 博湖县| 湘潭县| 辰溪县| 文成县| 炉霍县| 榆社县| 泸西县| 芮城县| 洪洞县| 平陆县| 武义县| 边坝县| 郁南县| 综艺| 孟州市| 定边县| 合肥市| 东乌珠穆沁旗| 邢台县| 长兴县| 济南市| 合川市|