среда, 23 июля 2014 г.

PyCharm: жирный шрифт в меню

Я долго не мог понять, по какой причине у меня под Ubuntu в PyCharm через какое то время шрифт меню и служебных панелей становился жирным. И только сейчас я нашёл виновника - в моём случае это был Wine.

четверг, 5 сентября 2013 г.

Настройка таймаутов для Python-пакета amqp

Только что столкнулся с малоприятным багом в одном клиенте для протокола AMQP - пакет amqp (версии 1.0.13, но и в 1.2.1 этот баг имеется). Этот клиент по умолчанию используется во фреймворке kombu, на базе которого основана реализация очереди задач - Celery. В простых случаях вы вероятно даже не столкнётесь с этим багом, но знать про него будет полезно.

пятница, 26 июля 2013 г.

Выполнение заданного кода при старте Django-приложения или management команды.

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

среда, 25 июля 2012 г.

Установка uWSGI с помощью zc.buildout

uWSGI - это мощный, быстрый и гибкий сервер позволяющий запускать веб-приложения на Python и ещё на нескольких популярных языках. Он имеет встроенную поддержку в nginx, за счёт чего отпадает всякая необходимость в Apache + mod_wsgi.
Установить uWSGI практически на любой *nix подобной системе можно средствами системного менеджера пакетов. Но это не тот вариант, который устраивает меня при разработке и развёртывании веб-приложений.

пятница, 20 апреля 2012 г.

Установка Erlang + RabbitMQ с помощью zc.buildout

Как только мне пришлось поднимать на сервере третий проект, который требовал использования Celery я решил всё таки установить AMPQ сервер. До этого момента я обходился использованием для хранения очереди сообщений базу данных проекта, которому был нужен Celery.

пятница, 13 января 2012 г.

Прощай исключение NotYet

Рано или поздно наступает такой момент, когда уже нет возможности мириться с тем или иным косяком (фичей) и ты берёшь в руки чужие исходники и ковыряешь их до посинения. Вот так и у меня случилось с пакетом zope.intid. Меня в конец задолбало исключение NotYet вызываемое по его вине и я просто взял и сделал ему инъекцию стероидов.

пятница, 16 сентября 2011 г.

Как установить PIL из исходников в Ubuntu 11.04

PIL (Python Image Library) - это библиотека для работы с изображениями в Python.
В Ubuntu эту библиотеку можно установить из репазитория. Но т.к. я использую в разработке zc.buildout и стараюсь создавать пакеты для деплоя максимально независимые от того, что установлено в системном Python-е , то убунтовский репазиторий мне не подходит. Следовательно PIL у меня собирается из исходников.

Начиная с Ubuntu 11.04 в системе произошли некоторые изменения, в результате которых установка PIL из исходников несколько затруднилась.