【问题标题】:Changing browser for IPython Notebook from system default从系统默认更改 IPython Notebook 的浏览器
【发布时间】:2013-05-18 06:16:47
【问题描述】:

我想在我的 Mac 上保留 firefox 作为我的系统默认浏览器,但在 Chrome 中启动 IPython Notebook[1]。

This answer 引导我访问我的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 为什么 IPython Notebook 在 Firefox 中这么慢,尤其是对于带有内联后端的 pylab?它在 chrome 中要快几个数量级(用于渲染、滚动等)。

【问题讨论】:

  • 我遇到了非常相似的问题。无论我在python_notebook_config.py 中尝试什么,Chrome 都无法打开(注册一个新浏览器,指定/Applications/Browsers/Chrome.app 或其“内容”的路径的不同方法,有或没有转义空格等。有another stackoverflow discussion 并且有是open issue 我很想解决这个问题。另外,我也想知道,为什么 IPython 在 Chrome 上看起来更稳定、更快。
  • 我在 Firefox 中使用笔记本,它以完美可用的速度运行。你的 Firefox 是最新的吗?你有任何可能干扰的插件吗?您可以使用干净的 Firefox 配置文件或在另一台机器上复制它吗?
  • @ThomasK 也许......我使用 Firefox 'Aurora',所以它是最新的,但如果我的插件或插件减慢它的速度,那么我更喜欢使用 Chrome,这样 Firefox 就可以了我希望它用于网页浏览。
  • @askewchan:没关系,我更想弄清楚是否有我们(IPython)可以解决的问题。

标签: macos browser ipython ipython-notebook


【解决方案1】:

自从切换到 Jupyter 之后,以及最新版本的 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 上为我工作
【解决方案2】:

基于this answer,(在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' 会有所帮助。
  • /Applications/Browsers/Chrome.app/Contents/MacOS/Google Chrome http://google.com 在终端上工作吗?您可以尝试通过添加 `` 来逃避空格吗?
  • 一定是问题所在。 ~$ /Applications/Browsers/Chrome.app/Contents/MacOS/Google\ Chrome http://www.google.com[57636:2307:0618/191916:ERROR:process_singleton_mac.cc(106)] Unable to obtain profile lock.
  • 如果你没有ipython_notebook_config.py,你应该运行ipython profile create default,它会出现在~/.ipython/profile_default或~/.config/ipython/profile_default或类似的地方。
【解决方案3】:

在 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”中的可执行文件因“无法获得配置文件锁定”而对我来说失败,因此通过“打开”是我看到的唯一简单的选择。

【讨论】:

    【解决方案4】:

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

    $ open -a Google\ Chrome http://localhost:8888
    $ open -a Firefox http://localhost:8888
    

    我的作品(仅在 mac 上)在 2 个浏览器之一中打开任何 url。

    使用--no-browser 选项并创建一个执行此操作的bash 函数。 甚至在 Chrome 中有一个书签。

    【讨论】:

    【解决方案5】:

    对于希望将 firefox 作为 ipython 笔记本的默认设置(不一定是系统默认设置)的人,将以下行添加到 ipython_notebook_config.py 就足够了:

    c.NotebookApp.browser = 'Firefox'

    对我来说,这比直接链接到应用程序文件要好,因为它避免了错误:A copy of Firefox is already open. Only one copy of Firefox can be open at a time.

    【讨论】:

    • 我添加了这个,但后来用 'Chrome' 而不是 firefox,它起作用了。
    【解决方案6】:

    这在 OSX Mavericks 上对我有用:

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

    【讨论】:

      【解决方案7】:

      为了将来参考,这个作品看起来是我在 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这一行并按照上面的方法进行编辑

      【讨论】:

        【解决方案8】:

        如果你根本不想打开浏览器,可以加ipython notebook --no-browser。

        【讨论】:

        • 如果在 VM 上使用 ipython 会很方便,但您想使用主机浏览器。例如:ipython notebook --ip=0.0.0.0 --port=3000 --no-browser mynotebook.ipynb(VM:nat,在端口 3000 上进行端口转发)
        【解决方案9】:

        对于 Mac 用户,最好的方法是从系统偏好设置/常规更改默认浏览器,然后享受新的 jupyter notebook 浏览器。

        【讨论】:

          猜你喜欢
          • 2016-05-15
          • 1970-01-01
          • 2018-05-26
          • 2011-01-12
          • 2015-11-30
          • 1970-01-01
          • 2015-09-03
          • 2010-12-12
          • 2014-08-12
          相关资源
          最近更新 更多