簡體   English   中英

Jupyter 無法啟動內核

[英]Jupyter failed to start kernel

所以我剛剛安裝了 anaconda 3 並在 anaconda 提示符下運行了“jupyter notebook”,它打開了 jupyter。 但是,當我打開一個新的 python 3 notebook 時,我無法運行任何代碼,因為內核錯誤“無法啟動內核”並顯示以下錯誤消息

Traceback (most recent call last):
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\web.py", line 1699, in _execute
    result = await result
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Janko\Anaconda3\lib\site-packages\notebook\services\sessions\handlers.py", line 72, in post
    type=mtype))
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Janko\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 88, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "C:\Users\Janko\Anaconda3\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 101, in start_kernel_for_session
    self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()
  File "C:\Users\Janko\Anaconda3\lib\site-packages\tornado\gen.py", line 209, in wrapper
    yielded = next(result)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 168, in start_kernel
    super(MappingKernelManager, self).start_kernel(**kwargs)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\jupyter_client\multikernelmanager.py", line 110, in start_kernel
    km.start_kernel(**kwargs)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\jupyter_client\manager.py", line 240, in start_kernel
    self.write_connection_file()
  File "C:\Users\Janko\Anaconda3\lib\site-packages\jupyter_client\connect.py", line 547, in write_connection_file
    kernel_name=self.kernel_name
  File "C:\Users\Janko\Anaconda3\lib\site-packages\jupyter_client\connect.py", line 212, in write_connection_file
    with secure_write(fname) as f:
  File "C:\Users\Janko\Anaconda3\lib\contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "C:\Users\Janko\Anaconda3\lib\site-packages\jupyter_client\connect.py", line 102, in secure_write
    with os.fdopen(os.open(fname, open_flag, 0o600), mode) as f:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Janko\\AppData\\Roaming\\jupyter\\runtime\\kernel-624a372e-0a69-4eda-8068-85cfa1e7c4bd.json'

我嘗試谷歌搜索,但找不到解決辦法。 請記住,我對內核、環境和我在對類似問題的回復中讀到的其他行話並不十分熟悉,因此我的故障排除能力相當有限(抱歉)。 這是我的 kernels.json 文件(其中包含 python 可執行文件的正確路徑),對類似問題的響應通常與之相關。 我感到困惑的另一件事是文件路徑具有雙反斜杠,但如果我改為單反,jupyter 會說未找到內核。

{
 "argv": [
  "C:\\Users\\Janko\\Anaconda3\\python.exe",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3",
 "language": "python"
}

謝謝!

堆棧跟蹤的最后一行告訴您 Jupyter 無法寫入的目錄:

Permission denied: 'C:\\Users\\Janko\\AppData\\Roaming\\jupyter\\runtime\\kernel-624a372e-0a69-4eda-8068-85cfa1e7c4bd.json'

向運行 Jupyter 的用戶授予寫入該目錄的權限,或者將環境變量JUPYTER_RUNTIME_DIR設置為可寫目錄。

https://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM