1

我已经安装了以下

C:\MinGW

C:\msys

C:\GTK

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

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

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

4

2 回答 2

1

安装 GTK+ 对我不起作用。我使用UniConverter2.0解决了这个问题。我的环境是

  • 蟒蛇 3.7
  • 视窗 10 x64
  1. 安装uniconvertor-2.0rc4-win64_headless.msi ,
  2. 找到UniConverter安装路径下的“dll”子目录。(在我的情况下,C:\Program Files\UniConvertor-2.0rc4\dlls
  3. 将此“dll”路径添加到系统路径。
  4. 关闭 VSCode 并重新打开项目。
  5. 尝试再次运行您的代码。享受!
于 2020-07-13T02:42:40.490 回答
0

根据我在使用 Python 3.5.1 的 Windows 10(64 位)上遇到此问题的经验,这可能是由于 PATH 看到的其他目录中的重复库不起作用,或者您安装的库不兼容您的操作系统/Python 位版本。

我建议使用 Wea​​syPrint 文档中提供的链接安装旧版本的 GTK+(我使用 3.10.4),然后查看错误是否仍然存在。我在 GTK+ 的较新版本上遇到了问题。与 MSYS2 一起安装的 GTK+ 版本给出了相同的错误。

编辑:我在帖子中找到了我正在使用的以前版本的 GTK,但它给出了一个关于 cairo 版本不稳定的恼人警告: 请参阅此帖子

编辑 2:为了摆脱 cairo 版本稳定性警告,我设法使用 GTK3-runtime-3.22.8 获得了更新版本的 Cairo (根据 WeasyPrint 文档链接到 git 下载)

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

于 2017-06-19T21:41:13.317 回答