如何在Windows中更改jupyter notebook使用的默认浏览器

Mar*_*rco 14 windows google-chrome anaconda jupyter

我在没有管理员权限的Windows机器上,我想在chrome上运行jupyter,而默认浏览器是另一个.

我有一个Anaconda发行版的本地安装,我启动jupyter的第一个选项是通过Anaconda Navigator,但也许我必须做其他事情.因为它是本地安装,所以命令行junyper notebook不会产生任何结果.

当我粘贴我在默认浏览器中的URL地址时(类似于http://localhost:8892/notebooks/Home/Exercices/Testing1.ipynbchrome页面请求我输入密码或令牌.我没有密码,我不知道令牌是什么.

有没有办法改变Anaconda Navigator的浏览器?

或者我如何使用Chrome启动jupyter?

Mar*_*rco 18

感谢@Darthdith和这篇文章如何更改Linux中ipython/jupyter笔记本使用的默认浏览器?我弄清楚了:

步骤1:从"开始"菜单中打开Anaconda Prompt并键入

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

这将生成文件 ~/.jupyter/jupyter_notebook_config.py

第2步:编辑此文件并更改以下行(chrome也在本地安装中)

c.NotebookApp.browser = u'C:/Home/AppData/Local/Google/Chrome/Application/chrome.exe %s'
Run Code Online (Sandbox Code Playgroud)

  • 请提醒那些用 google 搜索过这篇文章的朋友,如果路径中有空格,则必须引用浏览器命令才能使其正常工作。例如, `c.NotebookApp.browser = '"C:\\Program Files\\Mozilla Firefox\\firefox.exe" %s'` (22认同)
  • 出于好奇,“jupyter_notebook_config.py”是一个 Python 文件,但变量“c”从未被定义并且仍在使用。这怎么可能行得通呢? (3认同)
  • 这里的“%s”是什么?在Linux上,事情要简单得多 (2认同)
  • 不要忘记删除开头的#号。我忘记了:D (2认同)

小智 12

在Windows中,用cmd / Anaconda Prompt编写:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

生成的jupyter_notebook_config.py文件位于“ C:\ Users \ YourName \ .jupyter \”文件夹中。

使用文本编辑器将#c.NotebookApp.browser = ''其打开,然后更改为

import webbrowser webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe')) c.NotebookApp.browser = 'chrome' 并保存文件。

现在执行jupyter-notebook命令,将使用设置的浏览器。

  • 谢谢,这是在非管理员帐户上对我有用的唯一解决方案。作为参考,我使用了 MS Edge Chromium: `import webbrowser` `webbrowser.register('edge', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\ msedge.exe'))` `c.NotebookApp.browser = 'edge'` (2认同)

dar*_*ith 8

As far as I know, there's no way to change the default browser that opens. However, you can find the token for the Notebook server by opening Anaconda Prompt from the Start Menu and typing

jupyter notebook list
Run Code Online (Sandbox Code Playgroud)

This will give you a URL with the token that you can copy/paste into any other browser. The output of the list command looks like

Currently running servers:
http://localhost:8888/?token=41429d3dcf554d0dde69498aac0950654a590664ba02b3cd :: /path/to/home/folder
Run Code Online (Sandbox Code Playgroud)

So you can either type http://localhost:8888 into the browser and then copy/paste the token into the field, or just copy/paste the whole URL with the token.

  • 如何关闭服务器并不是那么明显。这里有一个问题 /sf/ask/711389521/ 和一个请求 https://github.com/jupyter/notebook/pull/3004 (2认同)

Lee*_*Lee 8

我不知道 Windows 的确切细节,但这是在 Mac 上设置默认浏览器的方法:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

这会在 ~/.jupyter 中创建一个文件 jupyter_notebook_config.py。编辑行

#c.NotebookApp.browser = ''
Run Code Online (Sandbox Code Playgroud)

在 Mac 上,我将其设置为:

c.NotebookApp.browser = u'/Applications/Gooogle\ Chrome.app %s'
Run Code Online (Sandbox Code Playgroud)

您只需要弄清楚如何将其指向 Windows 上的 Chrome。

  • 只需对 Mac 设置稍作修正: c.NotebookApp.browser = u'open -a /Applications/Google\ Chrome.app %s' (4认同)

use*_*045 7

以下也适用于我。我给了它一个完整的 chrome 路径,加上%s最后。

jupyter notebook --browser='C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
Run Code Online (Sandbox Code Playgroud)

如果 chrome 在 PATH 环境变量中,则以下内容也可能有效。

jupyter notebook --browser=chrome
Run Code Online (Sandbox Code Playgroud)


Jac*_*rch 6

我想提供更多关于在 jupyter_notebook_config.py 文件中放置什么的信息,而不是包含在任何其他答案中的信息。jupyter 使用 python 的webrowser模块通过将 c.NotebookApp.browser 的值传递给webbrowser.get(using=None)函数来启动浏览器。如果未指定任何值,该函数将选择用户的默认浏览器。如果您确实在此处指定了一个值,则可以通过两种方式之一对其进行解释,具体取决于您指定的值是否以字符 结尾%s

如果字符串不包含字符,%s 则将其解释为浏览器名称,并且模块会检查是否有使用该名称注册的浏览器(请参阅默认情况下注册浏览器的 Python 文档)。这就是 Abhirup Das 的答案有效的原因,首先导入 webbrowser 模块

import webbrowser

chrome 浏览器已注册到模块

webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'))

最后,jupyter 服务器被输入浏览器名称

c.NotebookApp.browser = 'chrome'

此浏览器注册不会持续存在,因此每次启动服务器时都必须重复该过程。

或者,如果字符串确实包含字符%s,则将其解释为文字浏览器命令。由于这个问题是关于如何在 Windows上运行浏览器,所以浏览器命令可能会包含反斜杠。反斜杠在 python 字符串文字中用于转义任何具有特殊含义的字符(例如,在字符串文字中包含引号或双引号)。浏览器命令中的任何反斜杠都需要转义或替换。最简单的方法是用正斜杠替换命令中的反斜杠,例如,

'C:/Home/AppData/Local/Google/Chrome/Application/chrome.exe %s'

而不是

'C:\Home\AppData\Local\Google\Chrome\Application\chrome.exe %s'

我一生都无法获得 unicode/raw string 命令或命令,其中我用额外的反斜杠转义每个反斜杠才能工作,因此用正斜杠替换反斜杠可能是唯一的选择。我验证了我尝试的所有字符串都在 python 中工作,因此唯一确定的方法是查看 jupyter 源代码。

无论如何,由于使用模块注册浏览器不会持续存在,如果您的浏览器默认尚未注册,最好使用文字浏览器命令,将反斜杠替换为正斜杠。


小智 5

您无需更改 jupyter_notebook_config 文件中的任何内容。检查您的默认网络浏览器(如果是 chrome)还是重置,然后再次选择作为网络浏览器(对我来说是 chrome)作为默认浏览器。它对我有用。


frh*_*yme 5

在 Mac 上,这有效:

1)从您的环境中生成一个配置文件:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

这将放置jupyter_notebook_config.py~/.jupyter

2)修改以下行jupyter_notebook_config.py

c.NotebookApp.browser = 'open -a /Applications/Google\ Chrome.app %s'
Run Code Online (Sandbox Code Playgroud)


Tay*_*har 5

对于 Linux 用户:

首先使用以下命令生成配置文件: jupyter notebook --generate-config

然后打开生成的文件并查找#c.NotebookApp.browser = ''

将其编辑为:c.NotebookApp.browser = '/bin/brave %s'

/bin/brave替换为您的浏览器可执行文件位置。


Mar*_*zas 5

有一种比在命令窗口中键入命令更简单的方法,您可以使用 Windows 文件资源管理器!只需导航到以下路径C:\Users\**YourUser**\AppData\Roaming\jupyter\runtime\,如下所示:

包含 html 文件的路径

在那里,除了其他文件之外,您还将看到.htmljupyter 作业的相应文件。您可以右键单击任何.html文件,选择“打开为”,然后选择其他应用程序(如下图所示 - 抱歉,我的默认语言是西班牙语)。

选择可能打开文件的应用程序列表

从这里,您可以选择最适合您的导航器。就我而言,我使用的是 Firefox,但您可以选择 Chrome 或其他浏览器(如下所示)。确保单击“始终使用此应用程序打开 .html 文件”复选框,将 Chrome 设置为默认导航器。

选择最合适的导航器并将其设置为默认值

从现在开始,Jupyter Notebooks 将始终在 Chrome 中打开。