jupyter notebook 打開出現內核錯誤,在執行代碼的時候不會執行,cmd窗口有報錯信息,會直接退出jupyter notebook,導致jupyter notebook無法正常使用。
報錯現象:
- 瀏覽器打開jupyter notebook提示內核錯誤;
- cmd環境中出現錯誤信息,拒絕訪問之類的提示;
- 執行命令沒有返回值
直截取了cmd環境下的報錯截圖
報錯截圖:
解決思路:
- jupyter 卸載重新安裝,但是未解決問題;
- 查看報錯信息,在網絡上說到可能權限的問題,檢查“C:\Users\ThinkPad\AppData\Roaming\jupyter”該目錄權限,發現權限正常,該目錄針對每個用戶都具有完全控制的權限,該處理方法也被pass掉。
- 經咨詢其它人士,在每次打開jupyter時,先執行set JUPYTER_ALLOW_INSECURE_WRITES=1,經測試可以正常使用。但是每次打開jupyter都要執行該代碼,顯得比較繁瑣,嘗試添加的全局環境變量中,測試可行,但時cmd環境中每次都會有相關的提示信息,感覺未根本解決問題;
- 根據報錯信息
File "D:\Python\lib\site-packages\jupyter_core\paths.py", line 435, in secure_write win32_restrict_file_to_user(fname) File "D:\Python\lib\site-packages\jupyter_core\paths.py", line 377, in win32_restrict_file_to_user win32security.SetFileSecurity(fname, win32security.DACL_SECURITY_INFORMATION, sd) pywintypes.error: (5, 'SetFileSecurity', '拒絕訪問。')
查看paths.py代碼文件,找到第435行,將win32_restrict_file_to_user(fname)
進行注釋,然后進行保存退出,重新運行jupyter進行測試,未發現問題,運行正常
改后截圖如下:
*備注:有的jupyter是通過anaconda安裝,相關的報錯文件可能不是paths.py文件,但解決思路都是一致的,就是根據報錯提示信息打開源文件找到win32_restrict_file_to_user改行進行注釋。