cairocffi - DLL无法找到入口点inflateReset2

时间:2018-01-10 13:22:41

标签: python cairo

我想让 cairocffi 在Windows 10上工作。
我有64位操作系统和64位Python 我是Python的新手,我遇到了问题。

我是按照cairocffi的建议完成的。

为此,我首先下载并安装了GTK +。

1)好的,所以要安装我安装的cairo图形库 GTK +如下所述:https://www.gtk.org/download/windows.php

2)此步骤1安装MSYS2(http://www.msys2.org/
所以我也遵循了相关的确切说明

3)现在当我尝试从python导入cairocffi时,我收到此错误

    C:\>python
    Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cairocff
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'cairocff'
    >>> import cairocffi
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Programs\Python36\lib\site-packages\cairocffi\__init__.py", line 41, in <module>
        cairo = dlopen(ffi, 'cairo', 'cairo-2')
      File "C:\Programs\Python36\lib\site-packages\cairocffi\__init__.py", line 38, in dlopen
        raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
    OSError: dlopen() failed to load a library: cairo / cairo-2

enter image description here

4)我的PATH已经指向C:\Programs\msys64\mingw64\bin 我可以在那里看到一些相关的cairo DLL。

C:\Programs\msys64\mingw64\bin>dir *cair*
 Volume in drive C is OS
 Volume Serial Number is BC61-492E

 Directory of C:\Programs\msys64\mingw64\bin

12/13/2017  03:10 AM         1,014,974 libcairo-2.dll
12/13/2017  03:10 AM            37,299 libcairo-gobject-2.dll
12/13/2017  03:10 AM           161,107 libcairo-script-interpreter-2.dll
09/04/2017  01:07 AM            64,920 libpangocairo-1.0-0.dll
               4 File(s)      1,278,300 bytes
               0 Dir(s)  115,848,929,280 bytes free

我也非常谨慎地安装64位软件包。

所以我不明白...... 为什么我收到此DLL入口点错误?!

可能是因为我使用GCC for Windows编译DLL Python发行版是用MSC(Visual Studio编译器)编译的吗?

1 个答案:

答案 0 :(得分:1)

建议的解决方法在遇到类似问题后对我有用。

原因似乎与特定文件(zlib1.dll)有关,并检查我的PATH变量我有多个这些,由不同的程序使用。我所做的是移动&#39; C:\ Program Files \ GTK3-Runtime Win64 \ bin&#39; Windows PATH中的条目是第一个条目(或将其放在引用zlib1.dll的其他PATH条目之前)。从那以后,Haven没有遇到任何问题。