如何在Jupyter Notebook中分离项目工作目录与启动目录(无需os.chdir)
如何通过Jupyter配置文件分离启动目录与工作目录
要实现固定工作目录,同时保持启动/文件浏览器目录独立,无需在笔记本中手动执行os.chdir,可以通过修改jupyter_notebook_config.py配置文件实现,步骤如下:
生成或找到配置文件
如果你还没有生成过配置文件,在终端执行以下命令生成:jupyter notebook --generate-config生成的配置文件默认路径:
- Linux/macOS:
~/.jupyter/jupyter_notebook_config.py - Windows:
C:\Users\<你的用户名>\.jupyter\jupyter_notebook_config.py
- Linux/macOS:
修改配置文件
打开配置文件,找到c.InteractiveShellApp.exec_lines配置项(默认是注释状态),取消注释并添加自动切换工作目录的代码。例如,将工作目录固定为/home/user/my_workspace(Windows下类似C:\Users\user\my_workspace):c.InteractiveShellApp.exec_lines = [ 'import os; os.chdir("/home/user/my_workspace")' ]这个配置会让每个Jupyter Notebook启动时自动执行该代码,将工作目录切换到你指定的路径,无论你打开的笔记本位于哪个目录,
pwd命令都会返回这个固定路径。验证效果
重启Jupyter Notebook,打开任意目录下的笔记本,执行!pwd(Linux/macOS)或!cd(Windows),确认工作目录已变为你设置的固定路径。
额外说明:如果你希望同时指定Jupyter启动时默认打开的文件浏览器目录,可以额外设置c.NotebookApp.notebook_dir为你想要的启动目录,例如:
c.NotebookApp.notebook_dir = "/home/user/my_projects"
这样启动Jupyter时文件浏览器会默认打开my_projects目录,但打开其中的笔记本时,工作目录依然是my_workspace,完全实现二者分离。
内容的提问来源于stack exchange,提问作者Heo M
相关产品推荐
相关产品推荐

