我正试图让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

4)我的路径已经指向C:\Programs\msys64\mingw64\bin了。
我可以在那里看到一些相关的开罗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入口点错误?!
可能是因为DLL是用GCC for Windows编译的,而我的Python发行版是用MSC (Visual编译器)?编译的。
发布于 2018-01-29 10:31:31
建议的解决办法,在我面临类似的问题后,对我是有效的。
原因似乎与特定的文件(zlib1.dll)有关,并检查我的路径变量,我有多个这样的变量,被不同的程序使用。我所做的是将windows路径中的'C:\Program \GTK3-RuntimeWin 64\bin‘条目移动为第一个条目(或者将其放在引用zlib1.dll的其他路径条目之前)。从那以后就没有遇到过任何问题。
https://stackoverflow.com/questions/48188446
复制相似问题