Python, Каир и distutils

Я только что исправил ошибку в двухлетней программе Python, и теперь у меня большие проблемы с ее повторной компиляцией. Я просто не могу заставить Python, Cairo, wx и distutils работать вместе.

В OSX мне удалось заставить Python 2.7 импортировать Cairo и WX, но py2app не работает. Ошибка связана с неизвестной архитектурой.

В Windows 7 мне не удалось успешно импортировать cairo. Я установил py2cairo и поместил libcairo-2.dll в Windows/System32, но все равно получаю ошибку импорта. Я даже скопировал msvcr90.dll в System32, но все равно не повезло.

У кого-нибудь есть комбинация Python, wx, Py2cairo, Cairo и distutils, которая просто работает? Мне нужен Python 2.6 или 2.7 32 бит для OSX и Windows.


person sbaechler    schedule 25.02.2012    source источник
comment
Может быть, вы смешиваете 32-битные и 64-битные модули?   -  person Mariusz Jamro    schedule 25.02.2012


Ответы (1)


Я заставил его работать на OSX, установив более старую версию XCode с DVD SnowLeopard. Вы также должны быть очень осторожны с путями к файлам данных, потому что py2app помещает все в zip-файл.

py2exe был хуже, потому что он не копировал динамически загружаемые модули и одну зависимость от pytz в репозиторий и нуждался в некоторых уродливых хаках в setup.py.

В итоге я использовал cairo-1.10.2, libpng-1.2.49 и pixman-0.20.2.

person sbaechler    schedule 06.05.2012
comment
Я сделал бинарный пакет для OSX и загрузил его на github: github.com/sbaechler/cairo-binaries - person sbaechler; 06.06.2012