【问题标题】:Launch IPython notebook with selected browser使用选定的浏览器启动 IPython 笔记本
【发布时间】: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

标签: python windows subprocess ipython


【解决方案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,所以如果你实现让它工作,你就会知道你需要使用的命令
    • 来自:stackoverflow.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 系统。

              【讨论】:

                猜你喜欢
                • 2015-11-04
                • 2014-09-14
                • 2014-09-16
                • 2015-10-14
                • 1970-01-01
                • 1970-01-01
                • 2014-11-22
                • 2016-02-22
                • 1970-01-01
                相关资源
                最近更新 更多