2015-11-14 8 views
0

Я хочу запустить some library, который использует пакет cairocffi.установить python cairo на OS X

Однако, когда я пытаюсь запустить его я получаю:

OSError: dlopen() failed to load a library: cairo/cairo-2/

Так я установил Каир с помощью "заварить установки Каира. Затем я попытался установить py2cairo (1.10.0), (с использованием WAF) и получил

ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Глядя на эту ошибку в Google дает много страниц, но относительно Xcode. Наконец-то я нашел this (позже также this. Я был тогда в состоянии установить py2cairo с помощью «./waf установки».

Но я все еще имел такую ​​же ошибку, так что я пошел в cairocffi/инициализации .py и изменен линия 46 от:

cairo = dlopen(ffi, 'cairo', 'cairo-2') 

к:

cairo = dlopen(ffi, 'cairo', 'cairo-2', 'py2cairo') 

ошибка изменилась только:

OSError: dlopen() failed to load a library: cairo/cairo-2/py2cairo 

я не могу увидеть, если он был установлен правильно, но, вероятно, не так, потому что я не вижу его с помощью

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()]) 

, которые я могу понять, так как я установил его без пипа. Но я также не могу импортировать его в консоль python с помощью «import cairo» или «import py2cairo».

Я попробовал «заварить установку cairo» и получил «cairo-1.14-0 уже установлен». Я попытался установить py2cairo-1.10.0, может ли это быть источником проблем?

Я использую Python 2.7.3 и имею OS X 10.10.5.

+0

Глядя на список пакетов Homebrew (http://braumeister.org/search/cairo), похоже, вам, вероятно, также понадобится 'brew install py2cairo' для получения привязок Python; 'brew install cairo' получает только базовую графическую библиотеку. Вы пробовали это? – alexwlchan

+0

Да, Homebrew сказал мне, что он уже установлен. – mstechly

ответ

0

Я не знаю, почему, но переустановка python помогла. Я обновил его до 2.7.11, и весь процесс прошел гладко.

Смежные вопросы