суббота, 5 марта 2011 г.

Spyder - научная среда разработки для Python

Spyder (ранее Pydee) - свободная среда разработки для Python. Она кроссплатформенна и доступна для Windows, Linux и MacOS. Название Spyder расшифровывается как Scientific PYthon Development EnviRonment, то есть научная среда разработки для python. Программа создавалась для научных расчетов, и в этой сфере она действительно удобна.

Согласно аннотации разработчиков Spyder является:
  • Мощной интерактивной средой разработки для языка программирования Python с продвинутыми возможностями редактирования, интерактивного тестирования, отладки и интроспекции. 
  • Средой численных расчетов благодаря поддержке IPython (улучшенный интерактивный интерпретатор Python) и популярных библиотек Python, таких как NumPy (линейная алгебра), SciPy (обработка данных, численные расчеты и др.) и matplotlib (интерактивная 2D/3D визуализация).
  • Частью модуля spyderlib для Python,предоставляющего мощные виджеты на PyQt4, такие как редактор кода, консоль Python (встраиваемая в приложения), редактор списков/кортежей и массивов NumPy.


Рассмотрим некоторые возможности Spyder.

Работа в Spyder 

Просмотр значений переменных
Пожалуй одно из главных фишек - возможность удобной работы с переменными. В процессе выполнения программы они выводятся на панели в виде списка с возможностью просмотра их значений. Имеется даже возможность строить графики по данным массива. Очень удобно при отладке программы и поиске логических ошибок.

 Список переменных
 Просмотр массива numpy и редактирование значения элемента

Встроенная консоль
Spyder предоставляет большие возможности по работе с консолями Python или IPython. Можно создавать требуемое количество консолей и взаимодействовать с ними как с отдельными процессами. Ваши программы могут запускаться в новой или в существующей консоли.



Интеграция matplotlib и formlayout
При запуске программ, использующих для визуализации библиотеку matplotlib появляется возможность редактировать параметры графика, например легенду, параметры осей, подписи, стили линий с помощью формы, реализуемой библиотекой formlayout. Это удобно, так как не требуется перезапускать программу чтобы просто изменить параметры оси или что-то подобное.

 Настройка внешнего вида графика matplotlib с помощью формы formlayout

Мгновенный анализ на ошибки
С помощью pyflakes в реальном времени код программы проверяется на ошибки, и в случае их нахождения пользователь получает подсказки.



Интроспекция кода
С помощью rope имеются возможности:
  • автодополнения,
  • перехода к выбранному объекту или функции,
  • просмотра кода используемых модулей.
 автодополнение
 просмотр кода функции

Работа с документацией
Имеется возможность просмотра документации или исходных кодов любых объектов Python (классов, функций, модулей). Также доступна онлайн документация модулей Python (сгенерированная в формат html). Для документации в Python используется библиотека Sphinx. Очень удобная опция, позволяющая лишний раз не лезть в интернет за информацией о библиотечных функциях.


Более полное описание возможностей Spyder можно найти на официальном сайте проекта.

Ссылки:
P.S. При подготовке статьи использовался Spyder 2.0.6

    2 комментария: