You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Anaconda中Jupyter kernel.json查找路径规则及指定使用方法问询

Jupyter Kernel 路径优先级与配置调整

场景说明

我通过Windows快捷方式启动Anaconda提示符,目标为%windir%\System32\cmd.exe "/K" %PYTHONDIR%\Scripts\activate.bat root(其中PYTHONDIR=C:\Users\User1\Anaconda\)。执行jupyter kernelspec list后,发现系统优先加载C:\Users\User1\AppData\Roaming\jupyter\kernels\python3(记为K1),而非Anaconda自带的C:\Users\User1\Anaconda\share\jupyter\kernels\python3(记为K2)。重命名K1后,系统会自动切换到K2,说明Jupyter对kernel路径存在明确的搜索优先级。


一、Jupyter Kernel 路径搜索规则的定义

Jupyter的kernel搜索路径由内置规范和环境配置共同决定,核心规则如下:

  • 路径优先级顺序:用户级kernel目录(%APPDATA%\jupyter\kernels,即K1所在路径) > 环境/系统级kernel目录(如Anaconda的share\jupyter\kernels,即K2所在路径)。这是Jupyter Kernelspec规范的默认设定,目的是让用户自定义的kernel配置优先于全局预装的配置,避免用户修改被覆盖。
  • 你可以通过执行jupyter --paths命令,直接查看所有Jupyter相关路径的完整优先级排序;也可以运行jupyter kernelspec --help获取更多关于路径管理的细节说明。

二、让Anaconda提示符优先使用K2的方法

以下是几种实用的解决方案:

  1. 移除用户级K1目录:直接删除或重命名C:\Users\User1\AppData\Roaming\jupyter\kernels\python3,Jupyter会自动 fallback 到Anaconda环境的K2,这是最直接的方式。
  2. 调整路径优先级配置:
    • 生成Jupyter配置文件:在Anaconda提示符中执行jupyter notebook --generate-config,默认会生成到%APPDATA%\jupyter\jupyter_notebook_config.py。
    • 打开配置文件,添加一行:
      c.KernelSpecManager.kernel_dirs = ['C:\\Users\\User1\\Anaconda\\share\\jupyter\\kernels', '%APPDATA%\\jupyter\\kernels']
      
      把Anaconda的kernel目录放在前面,即可调整搜索优先级。
  3. 修改K1的配置指向K2的Python:
    • 打开K1路径下的kernel.json,将argv中的Python路径替换为K2里的C:/Users/User1/Anaconda\\python.exe,这样即使加载K1,实际运行的也是Anaconda环境的Python解释器。
  4. 用K2覆盖用户级kernel:
    • 在Anaconda提示符中执行命令:
      jupyter kernelspec install --user --replace C:\Users\User1\Anaconda\share\jupyter\kernels\python3
      
      该命令会用K2的配置覆盖用户级的K1,保持两者配置一致。

内容的提问来源于stack exchange,提问作者sancho.s ReinstateMonicaCellio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:15:56