【问题标题】:How to change the default browser used by jupyter notebook in windows如何更改 windows 中 jupyter notebook 使用的默认浏览器
【发布时间】:2018-05-26 02:40:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: windows google-chrome anaconda jupyter


    【解决方案1】:

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

    来找到 Notebook 服务器的令牌
    jupyter notebook list
    

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

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

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

    【讨论】:

    【解决方案2】:

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

    jupyter notebook --generate-config
    

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

    #c.NotebookApp.browser = ''
    

    在 Mac 上,我将其设置为:

    c.NotebookApp.browser = u'/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'
    【解决方案3】:

    感谢@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(或 jupyter_server_config.py 用于 nbclassic/new JupyterLab)

    第 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 从未被定义过并且仍在使用。这怎么可能?
    • 请提醒那些在谷歌上搜索此帖子的朋友,如果路径中有空格,您必须引用您的浏览器命令才能使其工作。例如,c.NotebookApp.browser = '"C:\\Program Files\\Mozilla Firefox\\firefox.exe" %s'
    • 别忘了去掉开头的#号。我忘记了:D
    • @G.T.该解决方案适用于没有管理员权限的安装。如果您有管理员权限,您将在位置 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ 结束。我的猜测是该解决方案在几年内仍然有效
    【解决方案4】:

    在 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 webbrowserwebbrowser.register('edge', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'))c.NotebookApp.browser = 'edge'
    • 我已经尝试了该社区中发布的所有其他内容,但始终无法正常工作。像 u' +path + s% 这样的东西永远不会对我有用。但是你的代码就像一个魅力!谢谢! @Abhirup 达斯
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

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

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

      jupyter notebook --browser=chrome
      

      【讨论】:

      • 感谢这在 linux 上有效,完整路径末尾的 %s 是强制性的,否则会弹出此错误:'No web browser found: could not locate runnable browser.'
      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

        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=&lt;your browser&gt; jupyter notebook 否则。

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

        【讨论】:

          【解决方案9】:

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

          【讨论】:

          • 对于 windows 默认路径是 'C:\Users\Admin\AppData\Roaming\jupyter\runtime'
          【解决方案10】:

          当 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”似乎没有帮助。

          【讨论】:

            【解决方案11】:

            我想提供更多关于在 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 源代码。

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

            【讨论】:

            • 对主题的出色而透彻的解释。
            【解决方案12】:

            打开 anaconda 提示符并输入

            jupyter notebook --generate-config
            

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

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

            【讨论】:

              【解决方案13】:

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

              【讨论】:

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

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

              【讨论】:

                【解决方案15】:

                这在 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'
                

                【讨论】:

                  【解决方案16】:

                  要在 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。
                  【解决方案17】:

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

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

                  【讨论】:

                    【解决方案18】:

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

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

                    我希望这对某人有所帮助。 :-)

                    【讨论】:

                      【解决方案19】:

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

                      类似的东西:

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

                      【讨论】:

                      • jupyter-lab --browser='firefox' 在 macOS 上尝试了其他几种排列后对我来说效果最好。
                      【解决方案20】:

                      Linux 用户:

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

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

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

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

                      【讨论】:

                        【解决方案21】:

                        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'
                        

                        【讨论】:

                          【解决方案22】:

                          步骤如下

                          1. 打开 Anaconda 提示并写入:

                            jupyter notebook --generate-config

                          2. 转到该路径并使用文本编辑器打开 .py 文件

                          3. 在该文件中查找包含以下文本的行:

                            #c.NotebookApp.browser = ''

                          4. 在该行之前编写以下代码

                            导入浏览器 webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:/PROGRA~2/Google/Chrome/Application/chrome.exe'))

                          5. 在设置浏览器的行中删除de符号#,如下所示:

                            c.NotebookApp.browser = ''

                          6. 保存文件,这会使 Chrome 成为启动 jupyter notebook 的默认浏览器

                          【讨论】:

                            【解决方案23】:

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

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

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

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

                            【讨论】:

                              【解决方案24】:

                              使用这个命令(windows cmd):

                              jupyter notebook --browser NotebookApp.browser

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

                              【讨论】:

                                【解决方案25】:

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

                                【讨论】:

                                  猜你喜欢
                                  • 2016-05-15
                                  • 2020-10-10
                                  • 1970-01-01
                                  • 2023-02-18
                                  • 2013-05-18
                                  • 2018-08-12
                                  • 2020-09-01
                                  • 1970-01-01
                                  • 2011-01-12
                                  相关资源
                                  最近更新 更多