Обзор 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.


    Заключение


    В завершении статьи хочу отметить, что все были описаны самые значительные изменения, кроме них есть еще куча всяких доработок и фишек. Полный список, а также документацию и примеры по ним можно посмотреть в релизе.
    • +6
    • 38,9k
    • 8
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 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
                Туториал

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