Новая статья в разделе про Python

Новая статья в разделе про Python

Всем привет!
Python — замечательный язык программирования, но иногда приходится работать с библиотеками, которые написаны на других языках программирования. Обычно это бывает, потому сторонние библиотеки решают нужные вам задачи, и не хочется изобретать велосипед, реализую то же самое на Python. Либо в более редких случаях, когда производительность вашего приложения упирается в особенности языка Python (все-таки интерпретируемые языки по скорости не сравнятся с компилируемыми), и часть кода приходится писать на C или C++.

Для решения такой задачи — использования библиотек, написанных на C/C++, из Python-приложения существует много решений. Одно из них — SIP. Эта утилита изначально разрабатывалась для создания Python-обвязки над такой монстроидальной библиотекой как Qt (получившаяся обвязка — PyQt). Я написал большую статью в двух частях про использование основы использования SIP для создания Python-обвязок над библиотеками. Сегодня я выложил первую часть — Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1.

Чуть позже выложу продолжение.

Статья «Использование библиотеки Matplotlib. Как делать анимированные графики»

Статья "Использование библиотеки Matplotlib. Как делать анимированные графики"

Давно я не ничего писал про библиотеку Matplotlib. Для тех, кто не знает, эта библиотека для языка Python, предназначенная для рисования огромного количества графиков.
Как-то в комментариях мне написали, что один пример не работает. Как оказалось, он действительно сломался после обновления библиотеки Matplotlib. Но вместо того, чтобы просто починить пример (надо было добавить одну строчку) я решил написать более развернутую статью на ту же тему.

В новой версии статьи приводится четыре способа создания анимированных графиков.

Ссылка на статью — Использование библиотеки Matplotlib. Как делать анимированные графики.

О книге «Элегантный SciPy»

Приятно, что в последнее время появляется много книг не просто о языке Python, но и о применении его в более узких областях. Меня в первую очередь интересуют инженерные расчеты, в которых практически стандартом являются библиотеки Numpy, SciPy и Matplotlib. На эту тему мне попадалось несколько книжек, но, к сожалению, все они страдают одной проблемой — после них нельзя сказать, что ты знаешь, например, Numpy.

Недавно я дочитал еще одну книгу сразу трех авторов: Хуана Нуньеса-Иглесиаса, Штефана ван дер Уолта и Харриет Дэшноу «Элегантный SciPy», которая посвящена научным расчетам на языке Python. К сожалению, и она страдает той же проблемой, что и другие известные мне книги, но хочется про нее все-таки рассказать.

Читать далее ‘О книге «Элегантный SciPy»’ »

Книга «Разработка веб-приложений с использованием Flask на языке Python»

Если говорить о веб-разработке на Python, то в первую очередь вспоминается веб-фреймворк Django, на основе которого создано огромное количество как небольших сайтов, а также таких монстров как Instagram, сайт Mozilla, Bitbucket и множество других. Django хорош тем, что к нему «прилагаются батарейки», т.е. в библиотеку входит большое количество инструментов, которые могут понадобиться для построения движка сайтов разных типов — это пакеты для работы с базой данных, для создания профилей пользователей и их авторизации, для создания форм по объектом данных и т.д. Это удобно, но из-за этого сам фреймворк становится достаточно тяжелый, а при его обновлении каждый раз что-нибудь ломается. К тому же, если вас не устраивает какая-то часть фреймворка, то заменить ее на аналог может быть тяжело.

В противоположность тяжеловесному Django был создан микрофреймворк Flask, пропагандирующий противоположный подход — сам Flask является очень минималистичным, а многие возможности в него добавляются с помощью расширений. Если вас не устраивает одно расширение, вы можете его заменить на аналогичное другое. Обновление используемых библиотек поэтому тоже теоретически должно проходить более гладко.

Я был приятно удивлен, узнав, что 2016 году была переведена книга Мигеля Гринберга «Flask Web Development», которая на русском языке стала называться «Разработка веб-приложений с использованием Flask на языке Python».

Читать далее ‘Книга «Разработка веб-приложений с использованием Flask на языке Python»’ »

Третий доклад на Moscow Python Meetup

Месяц назад я выступил на ежемесячной московской конференции программистов на Python — Moscow Python Meetup. Это уже третий доклад, который я делал на этой конференции — два предыдущих были в прошлом году (первый и второй). В этот раз я рассказывал о том, как работает сборка OutWiker. Не знаю как для всех остальных, но для меня этот доклад оказался особенно полезным, потому что после него подсказали интересные идеи и новости, а ещё на этой конференции мы развиртуализировались с Владимиром Тубольцевым, который в последнее время много интересного сделал для OutWiker-а.

Что касается комментариев и вопросов к докладу. Меня почти убедили, что для сборки можно использовать Docker вместо виртуальных машин. До сих пор мне казалось, что если нужно делать сборки для 32- и 64-хбитных процессоров, то Docker здесь не поможет. После доклада меня заверили, что все будет OK, так что можно будет попробовать.

Путаница произошла с версиями Fabric. Дело в том, что изначально OutWiker использовал Fabric 1, который работает только под Python 2.x, но после перехода на Python 3 оказалось, что есть версия Fabric, работающая под Python 3.x — Fabric 3. А буквально за полторы недели до доклада внезапно вышла новая версия Fabric — Fabric 2 с полностью переработанным API, поэтому то, что я рассказывал в докладе и в статье уже устарело, поскольку новый API был переделан полностью, и от старого Fabric мало что осталось. Поэтому скорее всего один из вопросов на видео был про Fabric 2, но я этого не понял. Теперь с версиями Fabric полная чехарда — версия 2 новее версии 3.

А теперь видео доклада:

Читать далее ‘Третий доклад на Moscow Python Meetup’ »

Еще один доклад на Moscow Python Meetup

Недавно сделал еще один доклад на конференции Moscow Python Meetup, которая проходила в Яндексе. Этот доклад был посвящен созданию запускаемых файлов (exe-шников) из скриптов на Python и продолжал тему доклада про создание настольных приложений на Python. Доклад родился из статьи про создание запускаемых файлов с помощью библиотеки cx_Freeze, но в доклад включил еще упоминание про pyInstaller — аналог cx_Freeze.

Что-то в этот раз я сильно волновался. Видео включает в себя все три доклада конференции, мое выступление начинается примерно с 32-й минуты.

Статья про создание exe-шников из python-скриптов

Написал большую статью про создание запускаемых файлов (.exe, если говорить про Windows) из скриптов на Python с помощью библиотеки cx_Freeze. Ссылка на статью — https://jenyay.net/Programming/Cxfreeze

Доклад на Moscow Python Meetup

Недавно делал доклад на конференции Moscow Python Meetup про создание desktop-приложений на Python. В докладе в качестве примера показывал OutWiker. Теперь организаторы выложили видео доклада.

Новая статья про создание интерфейса средствами Matplotlib

Продолжаю пополнять серию статей про использование библиотеки Matplotlib. Для тех, кто с ней незнаком, это замечательная библиотека для построения графиков на языке Python. Сегодня выложил статью под названием Создание интерфейса средствами библиотеки Matplotlib. В этой статье описано, как можно создавать элементы интерфейса с помощью библиотеки Matplotlib, не используя других библиотек.

Вышла библиотека для построения графиков Matplotlib 2.0

Вышла библиотека для построения графиков Matplotlib 2.0

Недавно обновилась библиотека Matplotlib, предназначенная для рисования графиков на языке Python, я про нее еще периодически пишу небольшие статьи. На этот раз изменения в библиотеке произошли настолько заметные, что разработчики решили дать ей номер 2.0 (предыдущая версия имела номер 1.5.3).

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

Не буду в подробностях описывать, где какие цвета и шрифты изменились, просто приведу несколько примеров графиков, полученных с помощью одного и того же кода, но с с использованием библиотек Matplotlib 1.5.3 и 2.0.0. Все примеры взяты из статей про использование Matplotlib.

Читать далее ‘Вышла библиотека для построения графиков Matplotlib 2.0’ »