Как установить pycairo на osx?

Я пытаюсь установить pycairo (привязки Python для графической библиотеки cairo ) под OSX.

Я начал с

easy_install pycairo 

и получил:

 Requested 'cairo >= 1.8.8' but version of cairo is 1.0.4 error: Setup script exited with Error: cairo >= 1.8.8 not found 

Поэтому я пошел на сайт cairo и загрузил последний пакет (1.8.8) из cairo, а также последний пакет того, что называется pixman (оба исходных пакета – не смогли найти двоичные файлы osx)

разархивированы оба, каждый в своем собственном каталоге. для pixman, обычный ./configure ; make ; sudo make install ./configure ; make ; sudo make install ./configure ; make ; sudo make install работало просто найти для cairo, ./configure, похоже, сработала, но не удалось:

 In file included from cairo-analysis-surface.c:37: cairoint.h:71:20: error: pixman.h: No such file or directory 

Что я делаю не так?

И почему мне приходится так много бороться, чтобы получить библиотеку программного обеспечения для работы с ОС, которая «просто работает»? Почему darwin больше не похож на Linux?

5 Solutions collect form web for “Как установить pycairo на osx?”

Кажется, вы смешиваете различные варианты установки здесь. Команда установки пакета пакета пакета MacPorts должна автоматически вытягивать все зависимости, необходимые для конкретного пакета, поэтому трюк должен начинаться с правильного проекта верхнего уровня. Для пакетов python у MacPorts есть общее соглашение: пакеты, начинающиеся с py- for для python 2.4, с py25- – для 2.5, и py26- для 2.6. В настоящее время в MacPorts доступны пакеты py-cairo , py25-cairo и py26-cairo .

Выбрав py-cairo вы выбрали версию python2.4, и вы, вероятно, обнаружите, что MacPorts построил и установил для вас python2.4 (связан с /opt/local/bin/python2.4 ), и, если вы запустите его, вы, вероятно, обнаружите, что вы можете импортировать cairo. Теперь это может быть хорошо для ваших нужд, но Python 2.4 довольно старый и больше не поддерживается, поэтому, если вы только начинаете, лучше начать с Python 2.6, одной из двух текущих версий Python. Для этого вам нужно всего лишь:

 sudo port install py26-cairo 

Это должно привести к любым отсутствующим зависимостям, в основном к MacPorts python2.6, которые вы можете запустить из /opt/local/bin/python2.6 . Возможно, вы захотите изменить свой $PATH в сценарии запуска оболочки, возможно, .bash_profile, чтобы поставить /opt/local/bin раннем этапе поиска.

Поскольку установка Cairo и его привязок к python представляется довольно сложной, для этого должно быть проще и лучше использовать полное решение MacPorts. Это означает, что вы безосновательно (и безвредно) установили пару экземпляров Python, которые вам не понадобятся. Но если вы хотите немного почистить вещи, вы можете легко удалить MacPorts python24 с помощью:

 sudo port uninstall py-cairo python24 

Полностью удалить установленный python.org python сложнее. Я объяснил этот процесс здесь . Но нет никакой насущной необходимости снимать либо до тех пор, пока вы держите свои пути прямо.

Я нашел эту инструкцию очень полезной и гораздо менее запутанной. Я нахожусь на Йосемите, и это сработало очень хорошо для меня. Эта инструкция использует домородок для установки. Поэтому, если у вас уже есть доморощенный, эти две команды должны быть полезны:

 $ brew install cairo --use-clang $ brew install py2cairo 

Для не-Homebrew установлен Python, эта инструкция предлагает установить PYTHONPATH для поиска pycairo. Вы можете установить PYTHONPATH в свой .bashrc / .profile /. Что бы ни было:

 PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH. 

Мне лично не нужно было использовать эту последнюю часть инструкции, но она может вам помочь.

ОК. Я решил это. Вводя решение здесь для дальнейшего использования, это может помочь кому-то.

В принципе, вся система портов / fink немного перепутана, и osx не очень хорошо играет в мире linux-y.

Итак, шаги, которые мне нужно было установить pycairo на OSX, были:

  • скачать последние исходные версии pixman, cairo, pycairo
  • извлечь все. Затем:

     cd PIXMAN_DIR ; ./configure ; make ; sudo make install cd CAIRO_DIR ; cp PIXMAN_DIR/pixman/*.h . ; ./configure ; make ; sudo make install cd PYCAYRO_DIR; locate cairo.pc 

    надеюсь, несколько мест возвращаются. выберите наиболее вероятный (один с новейшим каиром). Для меня это было «/opt/local/lib/pkgconfig/cairo.pc» и делали:

     export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ 

    после этого, еще в PYCAIRO_DIR, выполните:

     python setup.py install 

Это должно сделать это …

Команда port устанавливает библиотеку для установки python darwinports, которая отличается от структуры сборки (так что шаги 2 и 3 не должны работать). Попробуйте sudo easy_install pycairo (хотя ваш шаг 4 должен быть эквивалентен этому).

Посмотрите на which python тоже, чтобы убедиться, что вы на самом деле используете питон, который вы считаете собой.

В Mac OS вы можете установить несколько версий Python. У вас может быть еще больше, если вы решите установить Python через Fink или MacPorts. Когда вы компилируете библиотеки из источника, вы должны убедиться, что они указывают на правильную установку.

В настоящее время на моем компьютере установлены Python 2.5.1 и Python 2.6.4, которые я могу вызвать через python2.5 и python соответственно. Они живут в двух разных папках: /System/Library/Frameworks/Python.framework/Versions/2.5 и /Library/Frameworks/Python.framework/Versions/2.6

У меня возникла аналогичная проблема при компиляции pycairo 1.8.8 из tarball. Файл INSTALL в этом случае является вашим другом, так как содержит правильные инструкции, чтобы избежать возможных конфликтов версий. В основном вам нужно указать правильный префикс, чтобы пакет был установлен в правильной папке.

 $ python -c "import sys; print sys.prefix"
   # отметить префикс python
 $ ./configure --prefix = [python_prefix]
 $ make
 $ make install # может потребовать доступ суперпользователя

Выполняя эти инструкции с помощью python2.5 и python вы сможете правильно установить pycairo для обеих версий (или для любой версии, установленной через MacPorts / Fink).

  • PyCharm + Matplotlib?
  • Как правильно установить Python на OSX для использования с OpenCV?
  • Как указать значок py2app?
  • _tkinter TclError: не удается найти пакет Tix
  • Ошибка компиляции Android с помощью buildozer
  • Невозможно установить mysql-python с помощью pip на MacOS 10.12.4
  • Ошибка связи Boost.Python с python
  • Проблемы с locale.getlocale () на OSX
  • Запросы Python бросают ошибки SSL
  • Назначить действие переменной в Automator для использования в Shell Script
  • фатальная ошибка: файл «Python.h» не найден при установке opencv
  •  
    Interesting Posts for Van-Lav

    как мне сопоставить словарь, а не список?

    Рисование графика с помощью NetworkX на базовой карте

    В Python есть ли сжатый способ сравнения, совпадают ли содержимое двух текстовых файлов?

    Техника сравнения строк, используемая Python

    Группируйте произвольные объекты даты, которые находятся в пределах временного диапазона друг от друга

    App Engine выбрасывает 404 не найден для любого пути, но root

    сравнивая массив dtyped со скаляром типа в Pandas DataFrame

    построение абсолютного пути с помощью os.path.join ()

    Исключение каталога, модуля в nosetest python

    Проблема с прикреплением файлов в двоичном файле

    vim-flake8 не работает

    Самый эффективный / быстрый способ анализа данных с помощью Python?

    Как реализовать Google Suggest в своем собственном веб-приложении (например, с помощью Python)

    return имя переменной извне функции, как строка внутри функции python

    Что означает для массивов NumPy

    Python - лучший язык программирования в мире.