Jupyter Notebook配置文件默认不自动创建,必须执行jupyter notebook --generate-config命令生成,路径为C:Users{用户名}.jupyterjupyter_notebook_config.py;该文件不存在时Jupyter仍可运行,默认工作目录为当前终端路径。

配置文件默认生成路径是 C:Users{用户名}.jupyterjupyter_notebook_config.py
它不会自动创建,必须手动触发生成。直接运行 jupyter notebook --generate-config 命令,Jupyter 就会在用户主目录下的 .jupyter 文件夹里生成该文件(Windows 下路径形如 C:UsersAlice.jupyter,Linux/macOS 是 ~/.jupyter/)。
常见误区是以为安装完 Jupyter 就自带这个文件——其实没有。没运行过生成命令,jupyter_notebook_config.py 就不存在,哪怕你改过其他设置或用过 VS Code 的 Jupyter 扩展也不会自动生成。
- 如果命令执行后提示
Overwrite ... [y/N],说明文件已存在,此时按N可避免覆盖已有配置 - 若提示
PermissionError或写入失败,通常是终端没以当前用户权限运行(尤其在 Windows 上用管理员 CMD 启动时,可能写到系统目录而非用户目录) - VS Code 内置的 Jupyter 支持不读取也不生成
jupyter_notebook_config.py,它走的是自己的内核发现和启动逻辑,所以你在 VS Code 里能用 notebook ≠ 配置文件已就位
为什么有时候 jupyter notebook --generate-config 看似成功却找不到文件
最常踩的坑是:命令执行了,但终端当前工作目录或环境变量导致 Jupyter 写到了意外位置。比如在某个项目根目录下执行,或使用了 conda 激活的特定环境,而该环境的 jupyter 可执行文件路径指向了非默认 Python 安装。
安全做法是先确认用的是哪个 jupyter:
jupyter --paths
输出里重点关注 config 一行,它会明确告诉你 Jupyter 当前“认为”的配置目录在哪。如果显示的是 C:UsersAliceAnaconda3etcjupyter 这类全局路径,说明你可能在 base 环境或系统级安装下运行,而不是用户级。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 务必检查
jupyter --paths输出的config路径是否包含.jupyter子目录 - 如果路径里没有
.jupyter,而是etcjupyter或sharejupyter,那jupyter_notebook_config.py不会出现在你预期的用户目录下 - 某些旧版 Anaconda 或企业部署会把配置优先级设为系统级,此时即使你运行了
--generate-config,也只生成在系统路径,且普通用户无权修改
jupyter_notebook_config.py 不存在时,Jupyter 怎么运行
它根本不需要这个文件也能启动——所有配置项都走默认值。比如 c.NotebookApp.notebook_dir 默认就是 os.getcwd()(Windows 下常是 C:WINDOWSsystem32 或当前 CMD 路径),这就是为什么新装完一开 notebook 总看到一堆系统目录。
换句话说:jupyter_notebook_config.py 是“覆盖默认行为”的开关,不是运行前提。没它,Jupyter 照常跑;有它,才能定制行为(如改工作目录、端口、密码等)。
- 不要因为找不到这个文件就怀疑 Jupyter 损坏或安装失败
- 也不要试图手动新建空的
jupyter_notebook_config.py——Jupyter 不认,必须由--generate-config写入完整模板 - 生成后首次打开,文件里全是带
#的注释行,真正起效的配置必须删掉对应行的#并赋值,比如c.NotebookApp.notebook_dir = "D:\notebooks"
多环境共存时,哪个 jupyter_notebook_config.py 生效
取决于你调用 jupyter notebook 时实际使用的 Python 解释器和 jupyter 可执行文件。conda 环境、venv、系统 Python 各自维护独立的 .jupyter 目录,互不影响。
典型场景:你在 base 环境生成了配置,又切换到 py311 环境启动 notebook,结果发现工作目录还是默认值——因为 py311 环境下没生成过配置文件,它读的是自己环境下的空白默认值。
- 每个环境都需要单独运行一次
jupyter notebook --generate-config - 想统一管理,建议只在 base 或主环境配,然后用
--config参数显式指定配置路径,例如:jupyter notebook --config="C:UsersAlice.jupyterjupyter_notebook_config.py" - 注意
jupyter --paths在不同环境下输出不同,务必在目标环境中执行验证

















