使用选定的浏览器启动 IPython 笔记本

Posted

技术标签:

【中文标题】使用选定的浏览器启动 IPython 笔记本【英文标题】:Launch IPython notebook with selected browser 【发布时间】:2013-03-15 23:43:09 【问题描述】:

我正在尝试使用非默认浏览器(在我的情况下为 Firefox)启动 IPython 并认为我可以复制给定 in this blog

的脚本

我使用的是 Windows 7

我把下面的代码放在一个文件中,比如“module.py”

import subprocess
subprocess.call("ipython notebook --no-browser", shell=True)
subprocess.call([r'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe', '-new-tab', 'http://127.0.0.1:8888/'])

但是当我从命令行运行它时

 python C:\Users\mugabal\Desktop\module1.py

它执行第一行但不执行第二行(两行单独工作正常)

我的问题(更笼统地说)如何启动一个进程并告诉它不要劫持控制台窗口?

如果我监督了一个明显的解释,我提前道歉,但我查看了子流程文档和这个平台

----- 更新 -----

我应该补充一点,我尝试使用选定的浏览器启动 IPython,但不知道如何让它工作

>ipython notebook --browser='C:\Program Files (x86)\Mozilla Firefox\Firefox.exe'
... 
[NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
...
**[NotebookApp] No web browser found: could not locate runnable browser.**

确切地说,Windows 命令提示符窗口中的以下命令按预期工作:

start firefox 

但是

ipython notebook --browser=firefox 

不起作用(与上述相同的错误)。

【问题讨论】:

ipython notebook --browser=firefox 为我工作,谢谢! 如果您只想在 Windows 任务栏中有一个单独的图标,请在 Chrome 中以访客身份登录并启动 jupyter notebook 【参考方案1】:

我在 Windows 上遇到了同样的问题,然后以这种方式工作:

使用命令创建配置文件 ipython profile create default

编辑 ipython_notebook_config.py 文件,搜索行

#c.NotebookApp.browser =''

替换成

import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe'))
c.NotebookApp.browser = 'firefox'

那么它对我有用。

希望对你有所帮助。

JPG

【讨论】:

我必须添加 use u'C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe' 才能使其工作 是的!它适用于 jupyter 笔记本。仅设置“c.NotebookApp.browser = '/usr/bin/google-chrome'” 不适用于 chrome,但适用于 firefox,这是一个非常奇怪的错误。您的解决方案解决了问题!谢谢! 对于那些使用 macOS 的人来说只是一个说明:这可行,但路径当然不同。您可以链接到应用程序文件夹:/Applications/Opera.app/Contents/MacOs/Opera. 对于 Jupyter 笔记本,使用命令 jupyter notebook --generate-config 创建配置并编辑 jupyter_notebook_config.py 文件,如上所述【参考方案2】:

在我的 Mac 上,我得到以下命令来使用 Firefox 而不是我的默认 Chrome:

jupyter notebook --browser firefox

【讨论】:

谢谢! Windows 通知: 如果在您的 PATH 环境变量中设置了 firefox 的路径,则此方法有效。【参考方案3】:

这不是一个真正的答案。我只想与不太懂电脑的人分享 JPG 的答案一步一步的样子。据推测,在 Windows 资源管理器(下面附上屏幕截图)上,文件 jupyter_notebook_config.py 已列出:

在我的例子中,文件的目录(在资源管理器的顶部菜单上)是C:\Users\My_name\.jupyter

答案的第二部分可以通过简单的粘贴来实现:

import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe'))
c.NotebookApp.browser = 'firefox'

在下面的屏幕截图中看到的空间中,对应于 PyCharm 中打开的jupyter_notebook_config.py

...只是我将其设置为在 Opera 中打开:

import webbrowser
webbrowser.register('opera', None, webbrowser.GenericBrowser('C:\\Program Files (x86)\\Opera\\launcher.exe'))
c.NotebookApp.browser = 'opera'

【讨论】:

【参考方案4】:

为什么不使用

--browser=<Unicode> (NotebookApp.browser)
    Specify what command to use to invoke a web browser when opening the
    notebook. If not specified, the default browser will be determined by the
   `webbrowser` standard library module, which allows setting of the BROWSER

【讨论】:

谢谢马特。我不能这样工作(见更新)。该命令的外观应该如何? IIRC,查看代码,您应该使用与 webbrowser get 相同的语法:docs.python.org/2/library/webbrowser.html#webbrowser.get 所以我猜只是在 Windows 上使用 ipython notebook --browser='firefox' 你试过转义反斜杠和空格吗?我们只是将选项转发给 webbrowser.get,所以如果你实现让它工作,你就会知道你需要使用的命令 来自:***.com/questions/1532884/open-ie-browser-window 我会说你确实需要转义反斜杠,而不是空格。 谢谢。逃避也不起作用。实际上问题可能是我运行导入 webbrowser 时 PC 的配置,打印 webbrowser._browsers,它只显示资源管理器【参考方案5】:

我取消注释这行并更改为 False,不是为了让 ipython notebook 在启动时打开 web 浏览器,所以我们可以在活动 web 浏览器中指向 ipython notebook 地址。

# Whether to open in a browser after starting. The specific browser used is
# platform dependent and determined by the python standard library `webbrowser`
# module, unless it is overridden using the --browser (NotebookApp.browser)
# configuration option.
c.NotebookApp.open_browser = False

更好的是,我将地址固定在 Firefox 中,以便在每次打开浏览器时激活它。

【讨论】:

【参考方案6】:

我将环境变量 BROWSER 设置为浏览器的可执行文件(在我的例子中是 Google Chrome),并且 Ipython Notebook 在我喜欢的浏览器中启动。

PS H:\> $env:BROWSER = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
PS H:\> $env:BROWSER
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
PS H:\>
PS H:\> ipython notebook
2015-02-19 14:05:01.690 [NotebookApp] Using existing profile dir: C:\\Users\\abc\\.ipython\\profile_default'
2015-02-19 14:05:01.832 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
2015-02-19 14:05:01.901 [NotebookApp] The port 8888 is already in use, trying another random port.
2015-02-19 14:05:01.908 [NotebookApp] Serving notebooks from local directory: H:\
2015-02-19 14:05:01.908 [NotebookApp] 0 active kernels
2015-02-19 14:05:01.910 [NotebookApp] The IPython Notebook is running at: http://localhost:8889/
2015-02-19 14:05:01.910 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

【讨论】:

【参考方案7】:

当您在命令提示符下执行以下代码时,它会给出结果链接,您可以在任何浏览器中复制该链接以打开 Jupiter 笔记本。

jupyter notebook --browser firefox

【讨论】:

【参考方案8】:

要使其与bravechrome 一起使用,您需要附加一个代表URL 的%s 参数。在 Linux 终端上测试了以下内容,效果很好:

jupyter notebook --browser="google-chrome %s"
jupyter notebook --browser="brave-browser %s"

firefox 不需要%s

jupyter notebook --browser=firefox

【讨论】:

【参考方案9】:

我尝试了 JPG 和 norfeldt 的建议。它在我的 Windows 7 计算机上完美运行。这是 ipython_notebook_config.py 修改部分的副本(位于 C:\Users\'your username'\.ipython 下,以使用 Safari 作为笔记本的默认浏览器。正如 norfeldt 所说,请注意 'C:\ ...)

# c.NotebookApp.certfile = u''

import webbrowser
webbrowser.register('safari', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Safari\\safari.exe'))
c.NotebookApp.browser = 'safari'

【讨论】:

【参考方案10】:

无需编码,您可以将默认浏览器设置为 Chrome 或 Firefox 等。它适用于我的 windows 系统。

【讨论】:

以上是关于使用选定的浏览器启动 IPython 笔记本的主要内容,如果未能解决你的问题,请参考以下文章

使用 ipython2 笔记本获取“SyntaxError:无效语法”

ipython 笔记本的 matplotlib 和 libpng 问题

IPython使用学习笔记

IPython Notebook 打开文件对话框(检索完整路径)

如何在 ipython 笔记本中设置 matplotlib 图形默认大小?

如何在 IPython 笔记本中打开交互式 matplotlib 窗口?