如何设置Jupyter Notebook启动时通过URL(localhost+token)而非本地HTML文件打开?
如何让Jupyter Notebook启动时自动在浏览器打开带Token的URL?
当然可以!我之前也被这个问题折腾过——每次手动复制终端里的token URL实在太麻烦,下面两种方法能帮你实现完全自动化:
方法一:修改Jupyter配置文件(永久生效)
这是最推荐的方式,一次设置终身受用:
首先生成配置文件(如果还没有的话):
在终端运行以下命令:jupyter notebook --generate-config这个命令会在你的用户目录下创建一个
.jupyter文件夹,里面包含jupyter_notebook_config.py配置文件(Windows路径是C:\Users\<你的用户名>\.jupyter,Linux/macOS是~/.jupyter)。编辑配置文件:
打开jupyter_notebook_config.py,找到以下两个参数并修改(如果找不到,直接在文件末尾添加):- 确保自动打开浏览器的开关是开启的:
c.NotebookApp.open_browser = True - 指定浏览器的启动命令,关键是要加上
%s作为URL的占位符(Jupyter会自动把带token的localhost URL替换到这里):
根据你的操作系统和常用浏览器选择:- Windows:
Chrome:c.NotebookApp.browser = 'chrome.exe %s'
Edge:c.NotebookApp.browser = 'msedge.exe %s'
(如果浏览器不在系统PATH里,需要写完整路径,比如'C:/Program Files/Google/Chrome/Application/chrome.exe %s') - macOS:
Chrome:c.NotebookApp.browser = 'open -a "Google Chrome" %s'
Safari:c.NotebookApp.browser = 'open -a Safari %s' - Linux:
Chrome:c.NotebookApp.browser = 'google-chrome %s'
Firefox:c.NotebookApp.browser = 'firefox %s'
- Windows:
- 确保自动打开浏览器的开关是开启的:
保存配置文件,重启Jupyter Notebook试试——现在应该会自动打开浏览器并加载带token的URL了!
方法二:启动时用命令行参数(临时生效)
如果不想修改配置文件,每次启动Jupyter时可以直接指定浏览器参数:
- Windows Chrome:
jupyter notebook --browser="chrome.exe %s" - macOS Chrome:
jupyter notebook --browser="open -a 'Google Chrome' %s" - Linux Firefox:
jupyter notebook --browser="firefox %s"
为什么之前会打开本地HTML?
大概率是Jupyter默认的浏览器配置没有正确传递URL参数,导致浏览器尝试打开本地的临时文件而非远程的localhost URL。通过指定带%s的浏览器命令,就能强制浏览器直接加载生成的token URL,完美解决这个问题。
内容的提问来源于stack exchange,提问作者semola




