问题概述
在 Jupyter Notebook 中,无法看到特定 Conda 环境的内核,导致无法在该环境下运行代码。这通常是由于内核未正确注册到 Jupyter 所致。
常见原因
- 未安装
ipykernel
:每个 Conda 环境需要安装ipykernel
才能作为 Jupyter 内核使用。 - 内核未正确注册:即使安装了
ipykernel
,如果未正确运行注册命令,内核可能不会显示。 - 权限问题:在某些情况下,缺乏足够的权限可能导致内核无法正确安装或显示。
- Jupyter 配置问题:Jupyter 未正确识别或加载内核配置。
解决步骤
步骤一:激活目标 Conda 环境
首先,确保你激活了要添加到 Jupyter 的 Conda 环境。
conda activate your_env_name
将 your_env_name
替换为你的环境名称,例如 pytorch
。
步骤二:安装 ipykernel
在激活的环境中,安装 ipykernel
。这一步是必要的,因为 ipykernel
允许 Jupyter 识别并使用该环境作为内核。
使用 Conda 安装:
conda install ipykernel
或者使用 pip 安装:
pip install ipykernel
步骤三:将环境添加为 Jupyter 内核
运行以下命令,将当前 Conda 环境注册为 Jupyter 的一个内核:
python -m ipykernel install --user --name your_env_name --display-name "Python (your_env_name)"
参数说明:
--user
:将内核安装到当前用户的 Jupyter 配置中。--name your_env_name
:内核的内部名称,建议使用环境名称。--display-name "Python (your_env_name)"
:在 Jupyter Notebook 中显示的名称,你可以根据需要自定义。
例如,如果环境名称为 pytorch
,命令如下:
python -m ipykernel install --user --name fastapi --display-name "Python (pytorch)"
步骤四(可选):使用 nb_conda_kernels
自动管理内核
如果你有多个 Conda 环境,手动为每个环境添加内核可能会比较麻烦。nb_conda_kernels
可以自动检测并管理所有 Conda 环境中的内核。
-
安装
nb_conda_kernels
在 base 环境中或任何一个常用的环境中,运行:
conda install nb_conda_kernels
-
重启 Jupyter Notebook
安装完成后,重启 Jupyter Notebook。现在,你应该能在 Kernel > Change Kernel 中看到所有 Conda 环境的内核,无需手动添加。