Changing browser for IPython Notebook from system default
Solution 1
Since the great switch to Jupyter, and with recent versions of OS X (e.g., Yosemite), Jupyter/iPython (e.g., 4.0.1), and Chrome (e.g., 47), things have changed a bit. Jupyter/iPython no longer puts the notebook config file in ~/.ipython
; it's now in ~/.jupyter
, and the default file is generated with
jupyter notebook --generate-config
If you have an existing ipython_notebook_config.py
you can migrate it with jupyter migrate
(H/T).
After generating or migrating your config file, add the following line to jupyter_notebook_config.py
:
c.NotebookApp.browser = u'/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'
Solution 2
Based on this answer, (running Python 2.7.3 and IPython-0.13.1 on Linux), all I had to set in my ipython_notebook_config.py
was
c.NotebookApp.browser = u'/usr/bin/google-chrome %s'
I'm guessing, setting c.NotebookApp.browser
to /Applications/Browsers/Chrome.app/Contents/MacOS/Google Chrome %s
should work for you.
Solution 3
On OS X, you can put the following in ipython_notebook_config.py to open Chrome:
c.NotebookApp.browser = u'/usr/bin/open -a Google\\ Chrome %s'
The executable in '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' fails for me with 'unable to obtain profile lock', so going through 'open' is the only simple alternative I see.
Solution 4
This might not be the right things to do , but
$ open -a Google\ Chrome http://localhost:8888
$ open -a Firefox http://localhost:8888
Works from me (only on mac) to open any url in one of the 2 browser.
Use the --no-browser
option and make an bash function that does that.
Or even have a bookmark in Chrome.
Solution 5
For people who want to make firefox their default for ipython notebooks (where it is not necessarily the system default), adding the following line to ipython_notebook_config.py
should be sufficient:
c.NotebookApp.browser = 'Firefox'
For me, this was better than linking to the application file directly because it avoids the error: A copy of Firefox is already open. Only one copy of Firefox can be open at a time.
Related videos on Youtube
Comments
-
askewchan over 1 year
I would like to keep firefox as my system default browser on my Mac, but launch IPython Notebook in Chrome[1].
This answer led me to my
ipython_notebook_config.py
file but I can't get an instance of Chrome running. Afterc = get_config()
andimport webbrowser
, I've tried:webbrowser.register(u'chrome', None, webbrowser.Chrome())
webbrowser.register(u'chrome', webbrowser.Chrome)
webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app'))
webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app/Contents/MacOS/Google\ Chrome'))
All followed by
c.NotebookApp.browser = u'chrome'
I've fiddled with
webbbrowser
in the interpreter, and couldn't figure out how to create an instance of Chrome.
[1]: PS Why is IPython Notebook so slow in firefox, especially for pylab with the inline backend? It's orders of magnitude faster (for rendering, scrolling, etc) in chrome.
-
Claus over 10 yearsI am having very similar issues. Chrome won't open, whatever I try in the
python_notebook_config.py
(registering a new browser, different ways to specify the path to/Applications/Browsers/Chrome.app
or its "Contents" with or without spaces escaped, etc. There is another stackoverflow discussion and there is an open issue I would love this to be resolved. Also, I also wonder, why it IPython seems much more stable and faster on Chrome. -
Thomas K over 10 yearsI use the notebook in Firefox and it runs at a perfectly usable speed. Is your Firefox up to date? Do you have any addons that might be interfering? Can you replicate this with a clean Firefox profile, or on another machine?
-
askewchan over 10 years@ThomasK Perhaps ... I use Firefox 'Aurora' so it's up to date, but if my addons or plugins are slowing it down then my preference is to use Chrome so that firefox can be the way I want it to be for web browsing.
-
Thomas K over 10 years@askewchan: That's fine, I was more trying to figure out whether there's a problem that we (IPython) can fix.
-
askewchan almost 11 yearsThanks for the suggestion but this doesn't seem to work. It must have access to launch chrome, because I get an error that chrome unexpectedly quit. I might be using the wrong binary, but I'm not sure where else to point. The
' %s'
helps though, I think. -
punchagan almost 11 yearsDoes
/Applications/Browsers/Chrome.app/Contents/MacOS/Google Chrome http://google.com
work on the terminal? Can you try by adding a `` to escape the space? -
askewchan almost 11 yearsMust be the issue.
~$ /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.
-
Matt S. over 10 yearssee: ipython.org/ipython-doc/stable/interactive/… to understand how you can configure your session when you launch it this way (where here, your 'remote notebook server' is of course just localhost)
-
Ian Hincks almost 10 yearsIf you don't have a
ipython_notebook_config.py
, you should runipython profile create default
and it will appear in~/.ipython/profile_default
or~/.config/ipython/profile_default
or similar. -
681234 over 8 yearsHandy if using ipython on VM, but you want to use host browser. For example: ipython notebook --ip=0.0.0.0 --port=3000 --no-browser mynotebook.ipynb (VM: nat, with port-forwarding on port 3000)
-
marvin about 6 yearsWorked for me on OS X High Sierra 13.12
-
Romano Vacca almost 6 yearsI added this but then with 'Chrome' instead of firefox, and it worked.