Пользователь
0,0
рейтинг
10 апреля 2014 в 10:33

Разработка → Обзор IPython Notebook 2.0

Здравствуйте, уважаемые читатели.
3 апреля 2014 вышел долгожданный релиз IPython под номером 2.0.
Для тех кто не знает, IPython это интерактивная оболочка для языка программирования Python, которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, а также подсветку и автоматическое дополнение кода.
Далее я постараюсь описать наиболее значимые изменения по сравнению с предыдущей версией. Основные изменения в ней претерпела среда IPython Notebook, о нововведениях которой я напишу ниже.



Основные нововведения


И так в официальном релизе перечислены следующие нововведения:
  1. Добавлена навигация по папкам в notebook
  2. Новый модальный интерфейс в notebook
  3. Возможность сохранять рабочий notebook в различных форматах
  4. Интерактивные виджеты при работе с Ipython Notebook
  5. Повышена безопасность


Новая навигация


Те кто, ранее работали с IPython Notebook, вероятно знают как не удобно работать в главном окне программы, ведь все файлы *.ipyb должны были лежать в определенной папке и пользователь не мог передвигаться по ее дереву.
С выходом новой версии данный недостаток был наконец-то устранен и теперь мы можем переходить по папкам разных уровней, что несомненно удобней чем было раньше.



Модальный интерфейс


В новой версии для каждой ячейки доступны 2 режима:
  • Режим редактирования. Выделяется зеленой рамкой и попасть в него можно по нажатию кнопки enter.




  • Командный режим. Выделяется серой рамкой. В данном режиме ячейка не доступна для редактирования. Чтобы изменить ее содержимое, надо перевести ячейку в режим редактирования.




Подробней новый интерфейс описан здесь.

Экспорт рабочего notebook


Еще одно прекрасное нововведение, это добавление форматов экспорта в консоли.

Пользователи первой версии помнят, что там был лишь экспорт в файл python (.py). А для того чтобы перегнать рабочую консоль в файл html* необходимо было идти в консоль и выполнять руками команду nbconvert.
Теперь же, как можно увидеть из скриншота в этом нет необходимости и рабочую консоль IPython Notebook одним кликом можно преобразовать в html формат.

Интерактивные виджеты


Виджеты позволяют создавать высокоуровневые интерфейсы, для объектов Python, таких как функции. Есть стандартный набор виджетов, включенный в релиз, а также есть API для их создания. Подробней о виджетах, а также примеры их применения можно посмотреть в документации

Повышенная безопасность


В версии 2.0 консоль запускается в безопасном режиме. В данном режиме:
  • Доверие определяется параметром при запуске
  • Недоверенный HTML проходит очистку
  • Недоверенный JavaScript не выполняется
  • В ячейках типа markdown JavaScript и HTML считаются не доверенными, если не определен параметр из п. 1.


Заключение


В завершении статьи хочу отметить, что все были описаны самые значительные изменения, кроме них есть еще куча всяких доработок и фишек. Полный список, а также документацию и примеры по ним можно посмотреть в релизе.
@kuznetsovin
карма
55,2
рейтинг 0,0

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (8)

  • 0
    Можете провести короткое сравнение с bpython?
    • 0
      К сожалению не работал с bpython, поэтому не могу их сравнивать
    • 0
      Зачем сравнивать? Их можно использовать вместе :)

      github.com/ivanov/bipython

      Правда только в консоли.
    • +1
      bpython можно разве что сравнивать со старым добрым ipython, который консольный. Последние два года ребята из команды IPython упорно пилят Notebook. Развитие web-ориентированной интерактивной вычислительной платформы — это их долгосрочная цель. И у них неплохо получается, очень активный проект.
  • 0
    А как заставить его работать со вторым питоном, имея установленным и третий? Потому что официального mysql-драйвера, например, под третий пока нет.
    • +2
      Если я вас правильно понял, то вы хотите запустить ipython совместно с python 2.*. Я для этого использую (как и многие я думаю) virtualenv (http://www.virtualenv.org/en/latest/. На данный момен в своей виртуальной среде я обновил предыдущий ipython на новую версию и все работает отлично (со старыми jinja2, tornado, pyzmq).
  • 0
    У меня ipython без проблем работает с python 2.7
  • +1
    В IPython ещё здорово то, что можно писать ядра и «магию» для всяких разных языков и работать с ними практически прозрачно через IPython-консоль и Notebook. Вот, например, для тех, кто интересуется языком Julia:
    Проект на GitHub
    Туториал

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.