Я пытаюсь установить py2cairo на сборку фреймворка (Mac OSX Lion) python 2.7.3, используя brew. Я пока безуспешно.
Сначала я попробовал простой
brew install py2cairo
Кажется, это работает только на нефреймворковой сборке Python. Когда я делаю это в своей структуре, возникают ошибки Python, как только я импортирую cairo с несовместимой двоичной ошибкой.
Во-вторых, я попытался собрать его сам, скачав его с github и выполнив:
python waf configure
Это не удается с:
Checking for library python2.7 : not found
Checking for library python2.7 : not found
Checking for library python2.7 : not found
Checking for library python27 : not found
Checking for program python2.7-config : /usr/local/Cellar/python/2.7.3/bin/python2.7- config
Checking for header Python.h : Could not find the python development headers
The configuration failed
(complete log in /Users/tobin/tmp/py2cairo/build_directory/config.log)
Я пробовал все по адресу: Как установите PyCairo 1.10 на Mac OSX с Python по умолчанию, но ничего из этого не помогло.
Мне кажется, что это может привести к невозможности найти библиотеку и заголовочный файл python2.7, поскольку это сборка фреймворка. Это возможно? Я смотрел на формулу варки, и оказалось, что сборки фреймворка не получают --enable-share во время сборки. Я не уверен, что это уместно здесь, но, может быть, одна возможность.
Любые другие идеи были бы замечательными. Заранее спасибо.
ОБНОВИТЬ:
Я обнаружил, что невозможность собрать py2cairo связана с использованием флага "-march=native" в gcc. gcc (4.2.1) на Mac OSX имеет проблемы с этим. Затем я переустановил gcc и python. Впоследствии при сборке py2cairo с помощью waf он получал «-march=core2», и все строилось.
К сожалению, пока не все хорошо. Я получаю ту же ошибку, когда я импортирую cairo из моей сборки, которую я получил из версии brew (как упоминалось выше). Точное сообщение об ошибке:
>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6
а затем python выходит.
Теперь может показаться, что проблема связана со сборкой фреймворка Python. Я протестировал его без сборки фреймворка, и он работал нормально.