pycairo ImportError: Ошибка загрузки DLL: указанный модуль не найден. даже после установки DLL

Я следую инструкциям по установке pycairo здесь: http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/install.html, чтобы установить pycairo для использования с igraph.

Однако даже после запуска установщика и распаковки/копирования всех DLL в каталог site-packages cairo в соответствии с инструкциями я все равно получаю следующую ошибку:


>>> import cairo
Traceback (most recent call last):
  File "", line 1, in 
  File "c:\Python26\lib\site-packages\cairo__init__.py", line 1, in 
    from _cairo import *
ImportError: DLL load failed: The specified module could not be found.
>>> 

Я использую Python 2.6.6 под Windows 7.

Любые идеи?


person cip    schedule 19.01.2011    source источник


Ответы (2)


Откройте файл _cairo.pyd в Dependency Walker и выясните, чего ему не хватает.

person Ignacio Vazquez-Abrams    schedule 19.01.2011
comment
Потрясающий! Оказалось нужна dll для фритайпа, которой не было в инструкции. - person cip; 19.01.2011
comment
@cip: Я тот парень, которого следует винить в этих инструкциях; не могли бы вы сказать мне имя отсутствующей DLL и откуда вы ее взяли? Я лечу вслепую, так как у меня нет машины с Windows. - person Tamás; 19.01.2011
comment
@Tamas: Ваше руководство оказалось чрезвычайно полезным. Я получил dll с ftp-сайта, на который вы ссылаетесь — ftp.gnome.org /pub/gnome/binaries/win32/dependencies отсутствующая dll — freetype6.dll, найденная в freetype_2.4.4-1_win32.zip - person cip; 19.01.2011

Я решил проблему, установив Gtk-Bundle для Windows со сторонней dll зависимости.

(Я сделал грязное решение, вставив библиотеки DLL непосредственно в c:/Python27/lib/dist-packages/cairo, потому что я больше не привык к Windows и не знаю точно, какое ожидаемое место для DLL. .)

Но мои скрипты наконец-то заработали.

person heltonbiker    schedule 25.02.2011
comment
Я не вижу каталог с именем c:\Python27\lib. Я вижу Либ и я вижу Либс. Под Lib нет dist-packages\cairo есть site-packages но нет cairo. Есть завиток. Откуда должен появиться Каир? Я поместил freetype6.dll на свой путь и поместил его в Lib\site-packages\curl. Я все еще получаю сообщение об ошибке, указанное выше. Сейчас я ищу на всем диске C что-то под названием cairo. - person RichMeister; 24.12.2014