【问题标题】:Force Jupyter Notebook *not* to open a web browser强制 Jupyter Notebook *not* 打开 Web 浏览器
【发布时间】:2018-09-06 19:06:40
【问题描述】:
我正在通过 SSH 连接/隧道连接到的远程集群上运行 Jupyter notebooks (Python 3)。
Jupyter 的默认行为是在启动时尝试在 Web 浏览器中打开仪表板——显然(我刚刚更新),在某些时候他们为此切换到 Python 3 webbrowser 库。
根据webbrowser的文档:
如果图形浏览器不可用或 X11 显示器不可用,将使用文本模式浏览器。
这正是发生的事情。我运行jupyter notebook,webbrowser 启动elinks,我的一次性身份验证令牌被吃掉,阻止我连接到笔记本。
Jupyter 未配置为使用浏览器——c.NotebookApp.browser 在我的配置中被注释掉了——运行BROWSER="" jupyter notebook 也无济于事。
如何强制 Jupyter 不打开任何浏览器?
【问题讨论】:
标签:
python
ssh
jupyter-notebook
jupyter
python-webbrowser
【解决方案1】:
jupyter-notebook --help 包括以下内容:
--no-browser
Don't open the notebook in a browser after startup.
【解决方案2】:
jupyter notebook --generate-config
然后编辑 ~/.jupyter/jupyter_notebook_config.py 并添加
NotebookApp.open_browser = False
【解决方案3】:
您可以通过指定 --no-browser 来实现:
$ jupyter notebook --no-browser
我还建议您指定要使用的端口:
jupyter notebook --no-browser --port= <port_number>
即:
$ jupyter notebook --no-browser --port=8888
您必须记住,当您执行此操作时,jupyter 会在控制台上为您提供一个令牌,该令牌是服务器在通过浏览器远程连接时会询问您的令牌。
如果您想简化此过程,您可以设置一个更容易记住的密码。为此,您可以在控制台中运行:
$ jupyter notebook --generate-config
及以后:
$ jupyter notebook password
最后一条命令将询问您要用于远程输入的密码。
问候!