【问题标题】:Python requires ipykernel to be installedPython 需要安装 ipykernel
【发布时间】:2021-03-07 21:18:48
【问题描述】:

我在 VS 代码中使用 Jupyter Notebook 时遇到问题。屏幕显示“Python 3.7.8 requires ipykernel to be installed”。我按照弹出窗口安装 ipykernel。它仍然不起作用。附上截图。这让我很困扰。有人可以帮我吗?非常感谢。

【问题讨论】:

  • 你能看看this的答案吗?也许它可以提供一些帮助。

标签: python visual-studio-code jupyter


【解决方案1】:

提到的问题并非特定于基于 conda 的虚拟环境。

我的配置: Python 3.7.8, VS代码:1.63.2, 操作系统:Windows 10 64 位, venv 用于虚拟环境

我在虚拟环境中使用 python venv。当我在尝试运行时在 VS Code 中导入新的 .ipynb 文件时,出现错误“使用 Python 3.7.8(env_name:venv) 运行单元格需要 ipykernel 包”。

我点击弹出窗口进行安装,可以看到以下内容安装在我与 Jupyter 笔记本一起使用的选定虚拟环境/内核中。

xxx/xxx/../python.exe -m pip install -U ipykernel

最后是安装的包:

Installing collected packages: wcwidth, traitlets, parso, tornado, pyzmq, pygments, prompt-toolkit, pickleshare, nest-asyncio, matplotlib-inline, jupyter-core, jedi, entrypoints, decorator, backcall, jupyter-client, ipython, debugpy, argcomplete, ipykernel
Successfully installed argcomplete-2.0.0 backcall-0.2.0 debugpy-1.5.1 decorator-5.1.1 entrypoints-0.3 ipykernel-6.6.1 ipython-7.31.0 jedi-0.18.1 jupyter-client-7.1.0 jupyter-core-4.9.1 matplotlib-inline-0.1.3 nest-asyncio-1.5.4 parso-0.8.3 pickleshare-0.7.5 prompt-toolkit-3.0.24 pygments-2.11.2 pyzmq-22.3.0 tornado-6.1 traitlets-5.1.1 wcwidth-0.2.5

您可以直接在选定的环境中安装 ipykernel。

【讨论】:

    【解决方案2】:

    也许您可以尝试在终端中键入此 cmd。让我们看看会发生什么。

    python -m ipykernel

    我在输入这个 cmd 后遇到了一些错误。

    ImportError: 无法导入名称“AsyncGenerator”

    修复来自https://stackoverflow.com/a/65557088/11474510

    pip install --upgrade prompt-toolkit==2.0.1

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,并花了一整天的时间试图解决它。对我有用的是为 anaconda 安装 Jupyter 依赖项:

      > conda install jupyter

      我在我的基础环境中安装了它。在此 VSCode 工作后没有任何错误。

      【讨论】:

        【解决方案4】:

        就我而言,我必须pip install jupyter,而不是错误消息所暗示的ipykernel

        【讨论】:

          【解决方案5】:

          最近我遇到了这个问题,我个人认为如果您使用的是 conda 环境,就会特别出现这个问题。即使您在正确的环境中升级 ipykernel,问题仍然存在。在您想要与 Jupyter 笔记本一起使用的 conda 环境中安装 nb_conda_kernels 包。

          conda install -n notebook_env nb_conda_kernels
          

          将上述命令中的notebook_env 替换为您使用的实际环境名称。查看此repository 以供进一步参考。

          【讨论】:

            【解决方案6】:

            安装在conda(base) 环境中的pyzmq 包导致它。您可以通过在conda(base)环境下卸载并重新安装'pyzmq'包来解决问题。

            pip uninstall pyzmq
            pip install pyzmq
            

            您可以参考here了解更多详情。

            【讨论】:

              【解决方案7】:

              只做一个: pip install ipykernel --upgrade

              【讨论】:

              • 这是环境问题,请参阅已接受的答案。使用 pip 手动安装 ipykernel 是可以的,但必须确保选择正确的环境。请更新您的答案。
              【解决方案8】:

              更改 JSON 架构并指向您的环境。

              如果遇到问题,请创建一个新环境。

              另请参阅:How to setup virtual environment for Python in VS Code?

              【讨论】:

                【解决方案9】:

                原因是你当前的VSCode终端是在“Deeplearning_Env”环境中,所以在“Deeplearning_Env”环境中安装了“ipykernel”,而不是弹出显示的环境“base conda” -向上框。

                解决方法:请使用快捷键Ctrl+Shift+`打开一个新的VScode终端,它会自动进入当前选择的VSCode环境(VSCode左下角),并激活这个conda环境:

                然后,根据弹窗提示点击安装“ipykernel”。 或者,我们也可以手动安装“ipykernel”:(pip install ipykernel)

                另外,对于新创建的Python环境(未安装“ipykernel”),在打开Jupyter文件之前,请刷新VSCode终端,进入当前选择的环境。对于conda环境,我们需要在使用前激活它。

                检查:检查“ipykernel”的安装:

                更多参考:Environment in VSCode.

                【讨论】:

                • 这个“解决方案” 100% 不能解决问题。尽管多次确认它确实安装在 Conda 虚拟环境中,但仍花费了无数小时试图解决这个 ipykernel 问题。是时候转向另一个 IDE 了;这太荒谬了。
                • 如何检查 VSCode 上使用的环境?我的解释器选项只有 Python 3.7.x 和 Python 2.7.x。
                • This link 可能会有所帮助。
                • @JohnnyUtah 你能查一下this link吗?
                • @JohnnyUtah,遇到了同样的问题。 Ctrl+Shift+P ">Jupyter: Select Interpreter to start Jupyter server" 让我意识到我的环境缺少“notebook”包,而不是 ipykernel。
                猜你喜欢
                • 2021-12-15
                • 1970-01-01
                • 1970-01-01
                • 2019-03-14
                • 1970-01-01
                • 1970-01-01
                • 2020-10-22
                • 2020-04-25
                • 1970-01-01
                相关资源
                最近更新 更多