Jupyter Notebook 不能直接安装到 D 盘,真正可迁移的是其默认工作目录和 Python 环境;推荐通过修改 jupyter_notebook_config.py 中的 c.NotebookApp.notebook_dir 或重装 Miniconda 到 D 盘实现。

Jupyter Notebook 本身不能“安装在 D 盘”——它是一个 Python 包,安装位置取决于 Python 解释器所在环境;真正能迁移到 D 盘的是它的默认工作目录(即新建/保存 .ipynb 文件的地方)和底层环境(如 Miniconda/Anaconda)。
为什么直接说“把 Jupyter 安装到 D 盘”容易踩坑
很多人搜“Jupyter 安装在 D 盘”,实际想解决的是:C:Usersxxx 下 notebook 越攒越多、C 盘爆红。但 jupyter 命令本身是通过 pip install jupyter 或 conda 安装的,它不占多少空间,真正吃空间的是你写的 notebook、加载的数据、缓存的 kernel 日志等——这些默认都落在当前工作目录下。
所以关键不是“重装 Jupyter”,而是控制它启动时的根路径,以及确保底层 Python 环境本身不卡在 C 盘。
- 如果你用的是 Anaconda,默认装在
C:UsersxxxAnaconda3,它本身可能已占几个 GB - 如果你用的是 Miniconda,可以且推荐从一开始就装到 D 盘(比如
D:Miniconda3),后续所有conda install jupyter都自然落在 D 盘环境里 - 即使 Python 环境在 C 盘,只要配置好
c.NotebookApp.notebook_dir,notebook 文件也能全存在 D 盘
永久生效:修改 jupyter_notebook_config.py 中的 c.NotebookApp.notebook_dir
这是最稳定、被 Jupyter 官方文档支持的方式,适用于所有启动方式(命令行、快捷方式、Anaconda Navigator)。
操作步骤:
- 先生成配置文件(如果还没生成):
jupyter notebook --generate-config - 打开生成的文件,路径通常是:
C:Users你的用户名.jupyterjupyter_notebook_config.py - 搜索
# c.NotebookApp.notebook_dir = '',去掉前面的#,改成:c.NotebookApp.notebook_dir = r'D:Jupyter_Notebooks'(注意加r前缀或用双反斜杠\) - 确保
D:Jupyter_Notebooks这个文件夹已存在(不存在就手动mkdir D:Jupyter_Notebooks) - 重启 Jupyter(关掉所有
python.exe进程再开,避免旧配置缓存)
验证方法:在 notebook 里运行 !pwd 或 import os; print(os.getcwd()),输出应为 D:Jupyter_Notebooks。
快速临时方案:启动时用 --notebook-dir 指定路径
适合不想动配置、或只在特定项目里用 D 盘的情况。
- 打开命令提示符,先切到 D 盘目标目录:
D:→cd D:my_project - 再运行:
jupyter notebook --notebook-dir=D:my_project - 或者更简单:直接在目标文件夹里按住
Shift + 右键→ “在此处打开 PowerShell 窗口”,然后输jupyter notebook
⚠️ 注意:--notebook-dir 参数会覆盖配置文件里的设置,每次都要带,适合调试或单次使用。
连 Python 环境一起搬到 D 盘(一劳永逸)
如果你刚起步,或愿意重装环境,这是最干净的做法:
- 卸载当前 Anaconda/Miniconda(可选)
- 下载 Miniconda 安装包,安装时点击
Browse,路径选D:Miniconda3(不要有中文、空格、特殊符号) - 勾选
Add Miniconda3 to my PATH,完成安装 - 打开新终端,运行:
conda install jupyter—— 此时整个环境(包括jupyter命令、kernel、包缓存)都在 D 盘 - 再按上文方法配置
c.NotebookApp.notebook_dir,就彻底和 C 盘无关了
这种做法还能规避 Windows 最大路径长度限制(尤其当你嵌套多层 venv 或数据子目录时),也方便做整盘备份或迁移。
最容易被忽略的一点:改完配置后没清掉后台残留的 jupyter-notebook 进程,导致新配置不生效;建议任务管理器里搜 python.exe 全部结束,再重新启动。


















