【问题标题】:Failed to start kernel on jupyter notebook无法在 jupyter notebook 上启动内核
【发布时间】:2018-06-29 05:59:43
【问题描述】:

我最近卸载了 Anaconda3 并在 Python 2 上重新安装了 Anaconda。在此之后,当我使用 jupyter 笔记本时,似乎无法运行内核。我在尝试打开的任何笔记本上都收到此内核错误:

启动内核失败

Traceback (most recent call last):
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\notebook\base\handlers.py", line 516, in wrapper
    result = yield gen.maybe_future(method(self, *args, **kwargs))
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1055, in run
    value = future.result()
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\notebook\services\sessions\handlers.py", line 75, in post
    type=mtype))
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1055, in run
    value = future.result()
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 79, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1055, in run
    value = future.result()
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\notebook\services\sessions\sessionmanager.py", line 92, in start_kernel_for_session
    self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 1055, in run
    value = future.result()
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\tornado\gen.py", line 307, in wrapper
    yielded = next(result)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\notebook\services\kernels\kernelmanager.py", line 94, in start_kernel
    super(MappingKernelManager, self).start_kernel(**kwargs)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\jupyter_client\multikernelmanager.py", line 110, in start_kernel
    km.start_kernel(**kwargs)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\jupyter_client\manager.py", line 257, in start_kernel
    **kw)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\jupyter_client\manager.py", line 203, in _launch_kernel
    return launch_kernel(kernel_cmd, **kw)
  File "C:\Users\Ejer\Anaconda2\lib\site-packages\jupyter_client\launcher.py", line 128, in launch_kernel
    proc = Popen(cmd, **kwargs)
  File "C:\Users\Ejer\Anaconda2\lib\subprocess.py", line 390, in __init__
    errread, errwrite)
  File "C:\Users\Ejer\Anaconda2\lib\subprocess.py", line 640, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

【问题讨论】:

  • 如果您有可能在同一台机器上使用 Python 2 和 3,我认为这可能是一个很好的指标,表明您应该使用虚拟环境。这将允许您隔离您的依赖项。例如,您可以安装 Anaconda3 并使用“conda”创建使用 Python 2 的虚拟环境。conda.io/docs/user-guide/tasks/manage-environments.html

标签: python anaconda jupyter-notebook


【解决方案1】:

你的意思是你卸载了python 3并安装了python2?假设这是您所做的,右键单击 anacona 提示符并以管理员身份运行尝试在管理员模式下运行命令提示符后运行它

python2 -m pip install ipykernel

或

python2 -m ipykernel install --user

【讨论】:

    【解决方案2】:

    这可能是因为 juypter 无法找到 python。

    尝试在您的 anaconda 安装中查看 share/jupyter/kernels//kernel.json,您会看到类似这样的内容。

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

    确保argv下的python路径正确。

    【讨论】:

    • 我在 Jupyter Notebook 中使用 Anaconda 3 专门针对 Python 2 内核遇到了类似的错误。我发现您上面提到的 json 文件位于 \kernels\python3 中,并且 python .exe 文件位于其正确位置“C:/Users/me/anaconda3\\python.exe”。但是,在 Jupyter 的内核文件夹中,\python3 旁边没有 \python2 文件夹。而且,在 anaconda 安装文件夹中,我只看到 Python 3 的支持文件,而不是 Python 2 的支持文件。如何在 Anaconda 3 中安装 Python 2,以便 Jupyter Notebook 从基础而不是从 env 运行 Python 2 内核?
    • 这是我的问题的链接:stackoverflow.com/questions/61161317/…
    猜你喜欢
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 2019-01-26
    • 2023-01-13
    • 1970-01-01
    • 2021-02-12
    相关资源
    最近更新 更多