【问题标题】:Kernel Error using Julia on Jupyter Notebook在 Jupyter Notebook 上使用 Julia 出现内核错误
【发布时间】:2020-05-28 18:08:15
【问题描述】:

嗨,我对使用 Julia 和 Notebook 还是很陌生。当我第一次下载 Julia 时,一切正常,但突然内核说它死了,我无法让它再次工作(重新启动并尝试重新安装)

我最终下载了更新版本的 Julia(1.4.1 到 1.4.2),但这似乎没有帮助。然而,现在,内核并没有死掉,而是出现了一个错误,不幸的是我不知道这意味着什么或如何修复它。

我想先说我不小心删除了笔记本需要的 C 盘中的 conda 文件夹,但没有意识到它是什么,但我以为它是通过 Julia 重新安装的,我不知道这是否有影响。此外,我不得不在我的学校使用 python,但因为我不再需要它而删除了它,所以我不确定这是否有效果(因为我知道 notebook 使用 python 的东西)

错误如下:

Traceback (most recent call last):

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\web.py", line 1703, in _execute
    result = await result

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\notebook\services\sessions\handlers.py", line 72, in post
    type=mtype))


File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore

File "C:\Users\Adam\.julia\conda\3\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\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore

File "C:\Users\Adam\.julia\conda\3\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\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 735, in run
    value = future.result()

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\tornado\gen.py", line 209, in wrapper
    yielded = next(result)

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 168, in start_kernel
    super(MappingKernelManager, self).start_kernel(**kwargs)

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\jupyter_client\multikernelmanager.py", line 158, in start_kernel
    km.start_kernel(**kwargs)

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\jupyter_client\manager.py", line 305, in start_kernel
    self.kernel = self._launch_kernel(kernel_cmd, **kw)

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\jupyter_client\manager.py", line 212, in _launch_kernel
    return launch_kernel(kernel_cmd, **kw)

File "C:\Users\Adam\.julia\conda\3\lib\site-packages\jupyter_client\launcher.py", line 135, in launch_kernel
    proc = Popen(cmd, **kwargs)

File "C:\Users\Adam\.julia\conda\3\lib\subprocess.py", line 800, in __init__
    restore_signals, start_new_session)

File "C:\Users\Adam\.julia\conda\3\lib\subprocess.py", line 1207, in _execute_child
    startupinfo)

FileNotFoundError: [WinError 2] The system cannot find the file specified

提前感谢任何可以帮助我的人。

【问题讨论】:

    标签: python jupyter-notebook julia conda


    【解决方案1】:

    默认情况下,IJulia 应该安装它自己的 Miniconda,所以你不应该去摆弄单独的 Python 安装。

    当您无法让笔记本服务器运行时,第一个调用端口始终是重新运行构建脚本,该脚本在您首次安装 IJulia 时运行。按] 进入REPL 包模式并运行build IJulia。这应该根据需要重新安装依赖项,并在 Jupyter 中重新注册您所在的 Julia 版本的内核。

    【讨论】:

    • 很高兴听到 - 最好将此问题标记为已关闭,以便浏览的人知道它已排序!
    • 其他人的信息。如果在using Pkg;pkg"build IJulia" 之后仍然无法正常工作,最好尝试通过运行using Conda;Conda.runconda(install jupyter --yes) 将 jupyter 手动安装到您的 Julia 中
    • 我也从其他人那里听说过这个解决方案。他坚持认为这是解决任何与 Jupyter 相关的问题的最佳方式。但是,它在我的计算机上不起作用(runco​​nda() 函数出错...
    【解决方案2】:

    我遇到了同样的问题,我在执行 julia 升级时删除了 .julia/* 下的几个文件夹/文件,无意中破坏了 IJulia。最终为我做的是通过

    找到jupyter内核目录
    IJulia.kerneldir()
    

    然后修改该目录中的kernel.json,使其指向正确版本的julia。结果在我的 julia 升级过程中,我删除了 jupyter 内核正在使用的旧版本之一,所以它给了我一个奇怪的错误(因为内核路径不再存在)。

    所以我所做的只是将"C:\\Some\\Other\\Julia\\Path\\julia.exe" 更改为最新的"C:\\Users\\Chris\\AppData\\Local\\Microsoft\\WindowsApps\\julia.exe"。我通过在 Windows 终端中运行 gcm julia | Format-List * 发现了这一点。最终工作版本如下。

    {
      "display_name": "Julia 1.7.0",
      "argv": [
        "C:\\Users\\Chris\\AppData\\Local\\Microsoft\\WindowsApps\\julia.exe",
        "-i",
        "--color=yes",
        "--project=@.",
        "C:\\Users\\Chris\\.julia\\packages\\IJulia\\e8kqU\\src\\kernel.jl",
        "{connection_file}"
      ],
      "language": "julia",
      "env": {},
      "interrupt_mode": "message"
    }
    

    再次运行notebook发现并启动内核就好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-06
      • 2022-12-31
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多