从系统默认更改IPython Notebook的浏览器

17

我希望将Firefox设置为我的Mac系统的默认浏览器,但在Chrome中启动IPython Notebook [1]

这个答案让我找到了ipython_notebook_config.py文件,但我无法打开Chrome的一个实例。在c = get_config()import webbrowser之后,我尝试过:

  1. webbrowser.register(u'chrome', None, webbrowser.Chrome())

  2. webbrowser.register(u'chrome', webbrowser.Chrome)

  3. webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app'))

  4. webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app/Contents/MacOS/Google\ Chrome'))

最后加上c.NotebookApp.browser = u'chrome'

我已经在解释器中试着操作了webbbrowser,但是我不知道如何创建一个Chrome的实例。


[1]:PS为什么Firefox中的IPython Notebook非常慢,特别是对于具有inline后端的pylab? 在Chrome中它要快得多(对于渲染、滚动等),速度相差几个数量级。


我遇到了非常相似的问题。无论我在 python_notebook_config.py 中尝试什么(注册新浏览器,不同的指定路径到 /Applications/Browsers/Chrome.app 或其带或不带空格转义的 "Contents" 等),Chrome 都无法打开。这里有另一个stackoverflow讨论,还有一个未解决的问题。我希望这个问题能够得到解决。同时,我也想知道为什么 IPython 在 Chrome 上似乎更加稳定和快速。 - Claus
我在Firefox中使用笔记本,它运行速度完全可用。你的Firefox是否是最新版本?你有任何可能会干扰的插件吗?你能否在干净的Firefox配置文件或另一台机器上复制此操作? - Thomas K
@ThomasK 或许...我使用的是最新版的Firefox 'Aurora',但如果我的插件或附加组件导致它变慢,那么我更喜欢使用Chrome,这样Firefox就可以成为我想要的网络浏览器。 - askewchan
@askewchan:没问题,我更想知道是否有我们(IPython)可以解决的问题。 - Thomas K
9个回答

15
自从转移到Jupyter以后,再加上最近版本的Mac OS X(例如Yosemite)、Jupyter/iPython(例如4.0.1)和Chrome(例如47),情况有所变化。 Jupyter/iPython不再将笔记本配置文件放在~/.ipython中;它现在位于~/.jupyter,并且默认文件是使用生成的。
jupyter notebook --generate-config

如果您有现有的ipython_notebook_config.py文件,您可以使用jupyter migrate进行迁移(H/T)。
在生成或迁移配置文件后,请将以下行添加到jupyter_notebook_config.py中:
c.NotebookApp.browser = u'/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'

在我的OS X High Sierra 13.12上运行良好。 - marvin

12
根据这个答案(在Linux上运行Python 2.7.3和IPython-0.13.1),我只需要在ipython_notebook_config.py中设置以下内容:
c.NotebookApp.browser = u'/usr/bin/google-chrome %s'
我猜,将c.NotebookApp.browser设置为/Applications/Browsers/Chrome.app/Contents/MacOS/Google Chrome %s应该对您有用。

谢谢您的建议,但似乎不起作用。它必须能够启动Chrome,因为我收到一个Chrome意外退出的错误。我可能使用了错误的二进制文件,但我不确定还能指向哪里。不过,' %s'确实有所帮助,我想。 - askewchan
在终端上,/Applications/Browsers/Chrome.app/Contents/MacOS/Google Chrome http://google.com 这条命令能用吗?你可以尝试通过在空格前加上 \ 来转义空格。 - punchagan
一定是问题出在这里。~$ /Applications/Browsers/Chrome.app/Contents/MacOS/Google\ Chrome http://www.google.com [57636:2307:0618/191916:ERROR:process_singleton_mac.cc(106)] 无法获取配置文件锁定。 - askewchan
1
如果没有 ipython_notebook_config.py 文件,您应该运行 ipython profile create default 命令,它将会出现在 ~/.ipython/profile_default 或者 ~/.config/ipython/profile_default 目录下或类似目录中。 - Ian Hincks

8
在 OS X 上,您可以将以下内容放入 ipython_notebook_config.py 文件中以打开 Chrome:
c.NotebookApp.browser = u'/usr/bin/open -a Google\\ Chrome %s'

'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'中的可执行文件无法获得配置文件锁定,因此我只能通过使用“open”命令来打开它,这是我能找到的唯一简单替代方法。


5

这可能不是正确的做法,但是

(这句话的意思有些含糊,需要上下文来确定更准确的翻译)
$ open -a Google\ Chrome http://localhost:8888
$ open -a Firefox http://localhost:8888

这是一个只适用于Mac的方法,可以在两个浏览器中打开任何URL。

使用--no-browser选项并创建一个bash函数来实现。 或者在Chrome中添加书签。


请参考http://ipython.org/ipython-doc/stable/interactive/public_server.html#running-a-public-notebook-server,了解如何在启动会话时配置您的会话。在这种方式下,您的“远程笔记本服务器”当然只是本地主机。 - Matt S.

5

如果您想将Firefox设置为ipython笔记本的默认浏览器(而不一定是系统默认浏览器),请将以下行添加到ipython_notebook_config.py中即可:

c.NotebookApp.browser = 'Firefox'

对于我来说,这比直接链接应用程序文件更好,因为它避免了错误:Firefox的一个副本已经打开。一次只能打开一个Firefox副本。


我把它改成了“Chrome”,然后它就可以工作了。 - Romano Vacca

3

在我的OSX Mavericks上,这个方法对我有效:

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

3

以后参考,对于我来说,在macOS上编辑jupyter_notebook_config.py的最优雅方式似乎是:

c.NotebookApp.browser = u'open -a "Google Chrome" %s'

你显然可以将 "Google Chrome" 替换为任何其他浏览器。

完整步骤:

  1. jupyter notebook --generate-config
  2. open ./jupyter/jupyter_notebook_config.py
  3. 找到 #c.NotebookApp.browser 这一行并按照上述方式进行编辑

1
如果您不想打开浏览器,可以添加ipython notebook --no-browser

如果您在VM上使用ipython,但想要使用主机浏览器,则非常方便。例如:__ipython notebook --ip=0.0.0.0 --port=3000 --no-browser mynotebook.ipynb__(VM:nat,端口转发在端口3000上) - 681234

0

对于Mac用户来说,最好的方法是从系统偏好设置/通用中更改默认浏览器,然后享受您的新浏览器为jupyter笔记本服务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接