使用选定的浏览器启动 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】:要使其与brave
和chrome
一起使用,您需要附加一个代表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 Notebook 打开文件对话框(检索完整路径)