ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

当我将 url 地址粘贴到我拥有的默认浏览器中时(类似于 http://localhost:8892/notebooks/Home/Exercices/Testing1.ipynb,chrome 页面要求我输入密码或令牌。我没有密码,也不知道令牌是什么。

有没有办法改变 Anaconda Navigator 的浏览器?或者如何使用 Chrome 启动 jupyter?


k
krassowski

感谢@Darthbith 和这篇文章How to change the default browser used by the ipython/jupyter notebook in Linux?,我能够弄清楚:

第 1 步:从“开始”菜单打开 Anaconda Prompt 并键入

# for old notebook and JupyterLab < 3.0, or
jupyter notebook --generate-config
# for new nbclassic and JupyterLab >= 3.0
jupyter server --generate-config

这将生成文件 ~/.jupyter/jupyter_notebook_config.py(或用于 nbclassic/new JupyterLab 的 jupyter_server_config.py

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

# for old notebook and JupyterLab < 3.0
c.NotebookApp.browser = u'C:/Home/AppData/Local/Google/Chrome/Application/chrome.exe %s'
# OR for new nbclassic and JupyterLab >= 3.0
c.ServerApp.browser = u'C:/Home/AppData/Local/Google/Chrome/Application/chrome.exe %s'

这里的 %s 是什么?在 Linux 上,事情要简单得多
只是出于好奇,jupyter_notebook_config.py 是一个 Python 文件,但变量 c 从未被定义并且仍在使用。那怎么能行?
请提醒那些在 google 上搜索此帖子的朋友,如果路径中有空格,您必须引用您的浏览器命令才能使其工作。例如,c.NotebookApp.browser = '"C:\\Program Files\\Mozilla Firefox\\firefox.exe" %s'
不要忘记删除开头的#号。我忘记了:D
@GT 该解决方案适用于没有管理员权限的安装。如果您有管理员权限,您将在 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ 位置结束。我的猜测是该解决方案在几年内仍然有效
A
Abhirup Das

在 Windows 中,在 cmd/Anaconda Prompt 中写入:

jupyter notebook --generate-config

生成的 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 命令,将使用设置的浏览器。


这绝对适用于 Windows。举个例子,给我看这三行:import webbrowser webbrowser.register('Mozila', None, webbrowser.GenericBrowser(u'C:\\Program Files\\Mozilla Firefox\\Firefox.exe')) c.NotebookApp。 browser = 'Mozila' 在这里我想让 mozila 成为 Jupyter 的默认浏览器。
谢谢,这是在非管理员帐户上对我有用的唯一解决方案。作为参考,我使用了 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'
我已经尝试了这个社区中发布的所有其他内容,但从未奏效。像 u' +path + s% 这样的东西永远不会对我有用。但是你的代码就像一个魅力!谢谢! @Abhirup 达斯
我也尝试了其他解决方案,但只有你的对我有用。太感谢了!
N
N. Virgo

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

jupyter notebook --generate-config

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

#c.NotebookApp.browser = ''

在 Mac 上,我将其设置为:

c.NotebookApp.browser = u'open -a /Applications/Gooogle\ Chrome.app %s'

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


哦,很好的答案!我忘记了配置文件。我也不确定它在 Windows 上是如何工作的。请注意,jupyter notebook --generate-config 命令应从 Windows 上的 Anaconda Prompt 运行
只需对 Mac 设置做一点修正: c.NotebookApp.browser = u'open -a /Applications/Google\ Chrome.app %s'
u
user3113045

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

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

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

jupyter notebook --browser=chrome

感谢这适用于 linux,完整路径末尾的 %s 是强制性的,否则会弹出此错误:“未找到 Web 浏览器:找不到可运行的浏览器。”
d
darthbith

据我所知,无法更改打开的默认浏览器。但是,您可以通过从“开始”菜单打开 Anaconda Prompt 并键入来找到 Notebook 服务器的令牌

jupyter notebook list

这将为您提供一个带有令牌的 URL,您可以将其复制/粘贴到任何其他浏览器中。 list 命令的输出如下所示

Currently running servers:
http://localhost:8888/?token=41429d3dcf554d0dde69498aac0950654a590664ba02b3cd :: /path/to/home/folder

因此,您可以在浏览器中键入 http://localhost:8888,然后将令牌复制/粘贴到字段中,或者只需复制/粘贴整个 URL 和令牌。


谢谢,这使我能够看到正在运行的服务器并在另一个浏览器中打开它们中的任何一个。因为我看到 5 个服务器,我想知道我应该如何阻止它们
如何关闭服务器并不那么明显。这里有一个问题 stackoverflow.com/questions/10162707/… 和一个请求 github.com/jupyter/notebook/pull/3004
N
NIathukorala

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


这在 Windows 10 中也适用于我。您打开首选浏览器,如果不是,它会提示您将其设为默认浏览器,一旦您将其设置为默认浏览器,Anaconda Navigator 将在该浏览器中自动打开。在 Windows 中设置默认浏览器的另一种方法是转到“设置 > 应用程序 > 默认应用程序 > Web 浏览器 > 通过单击选择首选浏览器”
J
Jacob Church

我想提供更多关于在 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 字符串命令或我用额外的反斜杠转义每个反斜杠的命令,因此用正斜杠替换反斜杠可能是唯一的选择。我验证了我尝试的字符串都在 python 中工作,所以唯一可以确定的方法是查看 jupyter 源代码。

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


对主题的出色而透彻的解释。
S
S. Iakovlev

在 Mac 上这有效:

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

jupyter notebook --generate-config

这会将 jupyter_notebook_config.py 放在 ~/.jupyter 中。

2) 修改 jupyter_notebook_config.py 中的以下行:

c.NotebookApp.browser = 'open -a /Applications/Google\ Chrome.app %s'

T
Tayyab Mazhar

对于 Linux 用户:

首先使用 jupyter notebook --generate-config 生成配置文件

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

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

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


就我而言,它是 c.NotebookApp.browser = '/bin/brave-browser %s'
D
Dmitry Lav

上面的解释对我不起作用,我想,我打错了一些东西。实际上,我更容易将默认浏览器更改为 Chrome,然后 Jupiter 在下次启动后自动在 Chrome 中启动。 (搜索 Windows - 更改默认浏览器)。


T
Teodor

Jupyter 在选择要启动的浏览器时会查找 BROWSER 环境变量。

我建议设置 BROWSER 而不是专门配置 Jupyter,因为设置 BROWSER 是指定您喜欢的浏览器的默认方式,无论它适用于哪个应用程序。

要为单个会话选择浏览器,请在运行 jupyter 进程时设置 BROWSER 环境变量。 BROWSER=chromium-browser jupyter notebook 当你有 chromium-browser 当你喜欢在 PATH 上使用 chromium-browser 时。典型的 Linux。 BROWSER=C:/Home/AppData/Local/Google/Chrome/Application/chrome.exe jupyter notebook 当您在 PATH 上没有应用程序时。典型的 Windows。 BROWSER=<您的浏览器> jupyter notebook 否则。

要为整个系统选择浏览器,请全局设置 BROWSER 环境变量。


M
Mingyu Wang

找到 .../jupyter/runtime/nbserver-11596-open.html 文件,或者无论文件名是什么,您都可以在 jupyter notebook 启动时找到文件名,并将其与为我工作的 Chorme 相关联。


对于 Windows,默认路径是 'C:\Users\Admin\AppData\Roaming\jupyter\runtime'
H
Hansa Tharuka

打开 anaconda 提示符并输入

jupyter notebook --generate-config

然后转到“jupyter_notebook_config.py”路径并添加以下行

c.NotebookApp.browser = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'

r
robintux

有什么方法可以在 /tmp 的 chrome 上运行 jupyter 吗?

类似的东西:

jupyter notebook --browser='google-chrome --user-data-dir=/tmp/'

在尝试了其他几种排列方式后,macOS 上的 jupyter-lab --browser='firefox' 最适合我。
m
moirana0620

确保通过删除 # 注释指示符来激活该行。


T
Tony Stark

当 Chrome 不是我的默认浏览器时,在尝试从 Win10 中的 Anaconda 启动 chrome 中的 jupyter notebook 后,我结合了上面的几个建议,并在我的主目录中的 .jupyter 下的 jupyter_notebook_config.py 文件中放入了这些行代替默认的 c.NotebookApp.browser 行,它终于起作用了!:

import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:/PROGRA~2/Google/Chrome/Application/chrome.exe'))
c.NotebookApp.browser = 'chrome'

注意使用 Unix 风格的目录分隔符(这显然是 webbrowser 中的一个错误)和使用 DOS 风格的“PROGRA~2”——这两者似乎都是必要的。在“chrome.exe”之后添加“%s”似乎没有帮助。


C
Chris

为了在 Windows 10 上实现这一点,我必须执行以下操作:

对于从 Anaconda Prompt CLI 临时选择/指定浏览器(请注意引号的顺序/类型,它们似乎与大多数其他答案不同,因为这些答案对我不起作用):

jupyter notebook --browser="'C:\Program Files (x86)\BraveSoftware\Brave-Browser\Application\brave.exe' %s"

要永久设置它,请编辑 .jupyter 文件夹中的 jupyter_notebook_config.py 文件。我不确定您是否需要转义反斜杠(即 \ vs just ),但我使用了以下内容并且它有效(再次注意,引号的顺序/类型不同):

c.NotebookApp.browser = '"C:\\Program Files (x86)\\BraveSoftware\\Brave-Browser\\Application\\brave.exe" %s'

确保取消注释该行,否则它将无法运行!
事实上,这个引号序列在 Windows 上工作。此外,如果直接在命令提示符中键入,它也可以工作。如果放置在 .BAT 文件中,则 %s 将被替换为 %%s。
M
Marioanzas

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

https://i.stack.imgur.com/iK88h.png

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

https://i.stack.imgur.com/zXvtJ.png

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

https://i.stack.imgur.com/8WPLr.png

从现在开始,Jupyter Notebooks 将始终在 Chrome 中打开。希望它有所帮助!


m
m-shimizu

就我而言,macOS 10.15.4 和 anaconda 1.9.12,最后,我找到了一个有效的,如下所示:

c.NotebookApp.browser = u'/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'

我希望这可以帮助别人。 :-)


m
mdeff

Jupyterlab 3 migrated from notebook server to plain jupyter server。要选择将打开的浏览器 jupyter lab,请将配置放入 .jupyter/jupyter_server_config.py 并将 NotebookApp 替换为 ServerApp。例如:

c.ServerApp.browser = '/usr/bin/firefox -P notebook --new-window %s'

a
amirhossein soleimany

如果您没有为 jupyter notebook 指定浏览器,也许只需更改操作系统的默认浏览器即可解决您的问题;就像它对我一样。检查窗口中的默认浏览器:默认应用程序:网络浏览器


I
Ido Sar Shalom

检查默认浏览器的配置,默认浏览器是 Jupyter Notebook 将在其中打开的位置。

在 Windows 上,只需更改它:

在开始菜单中搜索“默认应用程序”,打开它。在 Web 浏览器下,选择当前列出的浏览器,然后只需将其更改为所需的浏览器(您希望 Jupyter Notebook 在其中打开)。


J
Joselin Ceron

这是步骤

打开 Anaconda promt 并写入: jupyter notebook --generate-config 转到该路径并使用文本编辑器打开 .py 文件 在该文件中查找包含以下文本的行:#c.NotebookApp.browser = '' Befor该行编写以下代码 import webbrowser webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:/PROGRA~2/Google/Chrome/Application/chrome.exe')) 在行中删除符号#设置浏览器,如下所示: c.NotebookApp.browser = '' 保存文件,这使得 Chrome 作为默认浏览器启动 jupyter notebook


M
Mr. Holy

使用这个命令(windows cmd):

jupyter notebook --browser NotebookApp.browser

它会生成一个链接(本地主机链接),将其复制粘贴到您需要的任何浏览器中并使用您的笔记本。


S
Simmi Valgeirsson

Microsoft 已将 Edge 设置为 Windows 上的持久性病毒。即使您在“设置”中将默认浏览器设置为 Chrome,打开 Jupyter 时仍然会获得优势。这是因为 Microsoft 已将 Edge 设置为 .htm 和 .html 文件的默认应用程序。在应用程序默认值的设置中,找到那个并将其更改为 Chrome 即可。


A
Akshay Trivedi

简单步骤: 1. 卸载笔记本在启动时选择的当前浏览器。 2.再次启动笔记本,它会询问浏览器:选择所需的浏览器并启用以下条款:(类似)始终为此类文件选择此应用程序。

它会起作用的。重新安装您已卸载的浏览器。