OSError:无法加载库libcairo.so.2:错误0x7e。此外,ctypes.util.find_library()无法找到库

时间:2017-04-17 10:11:48

标签: python-3.x weasyprint

我已安装以下

C:\ MinGW的

C:\ MSYS

C:\ GTK

但是python搜索站点包中的文件并将错误抛出为:

OSError:无法加载库libcairo.so.2:错误0x7e。此外,ctypes.util.find_library()无法找到库

在安装weasyprint包时会发生此问题。

2 个答案:

答案 0 :(得分:1)

对我来说,安装GTK +无效。 我使用UniConverter2.0解决了这个问题。 我的环境是

  • Python 3.7
  • Windows 10 x64
  1. 安装uniconvertor-2.0rc4-win64_headless.msi
  2. 在UniConverter安装路径下找到“ dll”子目录。(在我的情况下为C:\Program Files\UniConvertor-2.0rc4\dlls
  3. 将此“ dll”路径添加到系统路径。
  4. 关闭VSCode并重新打开项目。
  5. 尝试再次运行代码。 享受吧!

答案 1 :(得分:0)

根据我对使用Python 3.5.1发布此问题的Windows 10(64位)的经验,可能是由于PATH看到的其他目录中的重复库不起作用,或者您安装的库只是'与您的OS / Python位版本兼容。

我建议使用WeasyPrint文档中提供的链接安装较旧版本的GTK +(我使用3.10.4),然后查看错误是否仍然存在。我有一个新版GTK +的问题。与MSYS2一起安装的GTK +版本也出现了同样的错误。

编辑:我找到了我发现之前使用的GTK版本的帖子,但它给出了一个关于cairo版本不稳定的恼人警告:  See this post

编辑2:为了摆脱cairo版本的稳定性警告,我设法使用GTK3-runtime-3.22.8获得了更新版本的Cairo (Link to git downloads as per WeasyPrint docs)

请记住先卸载所有当前的GTK +实现。您可能会收到警告,说cairo的版本可能会导致问题,但我无法找到适用于Windows的新版cairo,如果您找到了,请告诉我。