Изменение браузера для ноутбука IPython с системного значения по умолчанию

Я бы хотел, чтобы firefox был моим браузером по умолчанию на моем Mac, но запустил IPython Notebook в Chrome [1].

Этот ответ привел меня к моему файлу 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 с встроенным бэкэндом?Он на порядок быстрее (для рендеринга, прокрутки и т.д.) В хроме.

Ответ 1

Основываясь на этом ответе (запуск Python 2.7.3 и IPython-0.13.1 на Linux), все, что мне нужно было установить в моем 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 должен работать на вас.

Ответ 2

Поскольку большой коммутатор 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'

Ответ 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" не позволяет мне "не удается получить блокировку профиля", поэтому просмотр "open" - единственная простая альтернатива, которую я вижу.

Ответ 4

Возможно, это не то, что нужно делать, но

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

Работает от меня (только на Mac), чтобы открыть любой 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. A copy of Firefox is already open. Only one copy of Firefox can be open at a time.

Ответ 6

Это работало для меня на OSX Mavericks:

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

Ответ 7

Если вы вообще не хотите открывать браузер, вы можете добавить ipython notebook --no-browser.

Ответ 8

Для справок в будущем это выглядит как самый элегантный способ редактирования jupyter_notebook_config.py для меня на macOS:

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 и отредактируйте ее, как указано выше.