Как стать автором
Обновить
16
0
Валерий Хиора @vhbit

Пользователь

Отправить сообщение

Исправляем Python Imaging (PIL) в Snow Leopard'е

Время на прочтение1 мин
Количество просмотров1.2K
После перехода на Snow Leopard в Django перестали работать ImageField'ы. Причина оказалась в неработоспособном PIL'е, а точней в его привязке к libjpeg.
(типичное сообщение об ошибке:ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart)

Решение проблемы частично описано здесь (english)
качаем отсюда:
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
cp /usr/share/libtool/config/config.sub .
cp /usr/share/libtool/config/config.guess .
./configure --enable-shared --enable-static
make
sudo make install


Однако мне «повезло» и я оказался в числе тех, у кого это сразу не заработало — причина была в «зоопарке» установленных libjpeg'ов.
Итак, делаем следующее:
1. Смотрим все зависимости _imaging:
otool -L /Library/Python/2.6/site-packages/PIL/_imaging.so
2. Получаем что-то вроде:/Library/Python/2.6/site-packages/PIL/_imaging.so:
/sw/lib/libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)

Дальше можно решить двумя способами:
а) удалить «зоопарковую» библиотеку (в моем случае — из /sw/lib и пересобрать все заново)
б) если удалять — не вариант, то можно перелинковать питоновский _imaging на правильную, свежесобраную библиотеку:install_name_tool -change /sw/lib/libjpeg.62.dylib /usr/local/lib/libjpeg.62.dylib _imaging.so

После этого все должно работать :)
Всего голосов 7: ↑6 и ↓1+5
Комментарии16

Параллельный Питон, начало

Время на прочтение4 мин
Количество просмотров16K

Disclaimer


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

Практика


Собственно перевести алгоритм оказалось делом совсем несложным, но вот скорость его работы оставляла желать лучшего.
Первым делом в ход пошел Psyco, ускорив обработку в 6 раз.

Получить лучший результат без изменения алгоритма уже не представлялось возможным, поэтому в ход пошел метод грубой силы — распараллеливание задач.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии37

Chrome & Mouse gestures

Время на прочтение1 мин
Количество просмотров1.5K
Коль скоро по умолчанию такая возможность отсутствует, можно воспользоваться следующими костылями:

1. Установить StrokeIt
2. Импортировать очень базовый набор (закрыть таб, вперед, назад) отсюда
3. Ну и (по желанию) включить работу жестов только в нужных приложениях

4. Дальнейшая настройка — как душе угодно, по образу и подобию импортированных действий
Всего голосов 16: ↑10 и ↓6+4
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Кишинев, Молдова, Молдова
Зарегистрирован
Активность