如何配置Jupyter Notebook永久添加开发文件夹路径?
Got it, I totally get the frustration of typing that sys.path.append line every time you fire up a notebook. Let's fix this once and for all with a few simple steps.
方法1:利用IPython内核的启动配置(最推荐)
Jupyter Notebook默认用IPython作为内核,所以我们可以直接配置IPython自动执行路径添加的代码:
首先,生成IPython配置文件(如果还没有的话):
在终端里运行:ipython profile create这会在你的用户目录下创建
~/.ipython/profile_default/文件夹,里面包含ipython_config.py。打开这个
ipython_config.py文件,找到c.InteractiveShellApp.exec_lines这一行(可能是被注释掉的,前面有#),修改成:c.InteractiveShellApp.exec_lines = [ 'import sys; sys.path.append("/foo/project/bar")' ]如果需要添加多个路径,直接加更多行就行:
c.InteractiveShellApp.exec_lines = [ 'import sys; sys.path.append("/foo/project/bar")', 'sys.path.append("/another/awesome/path")' ]保存文件,重启Jupyter Notebook。下次打开任何notebook,这个路径都会自动被添加到
sys.path里了!
方法2:用IPython启动脚本(更灵活)
如果你不想修改大的配置文件,也可以用IPython的启动脚本功能:
- 确保IPython的启动目录存在(不存在就创建):
mkdir -p ~/.ipython/profile_default/startup/ - 在这个目录里创建一个
.py文件,比如00_add_project_paths.py(文件名前面的数字决定执行顺序,00会最先跑):# 自动添加开发文件夹路径 import sys sys.path.append("/foo/project/bar") - 保存后重启Jupyter,同样会自动执行这个脚本里的代码。
方法3:修改Jupyter Notebook全局配置
如果想直接从Jupyter层面配置,也可以这么做:
生成Jupyter配置文件(如果没有):
jupyter notebook --generate-config这会创建
~/.jupyter/jupyter_notebook_config.py。打开这个文件,添加以下内容:
# 给IPython内核添加启动命令 c.NotebookApp.ipython_kernel_config = { 'InteractiveShellApp': { 'exec_lines': [ 'import sys; sys.path.append("/foo/project/bar")' ] } }本质上和方法1是一样的,只是把配置写在了Jupyter的全局配置里。
不管用哪种方法,之后你都可以在notebook里跑import sys; print(sys.path)验证一下,看看你的目标路径是不是已经在列表里了。
内容的提问来源于stack exchange,提问作者code base 5000

