当我运行Django服务器时,我看到了这个问题!!
OSError: no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so': error 0x7e
cannot load library 'libcairo.2.dylib': error 0x
cannot load library 'libcairo-2.dll': error 0x7e发布于 2019-12-27 05:20:47
WeasyPrint需要Pango、cairo和GDK库.它们是GTK+ (以前称为GIMP )的一部分,必须单独安装。
安装GTK+库后,请执行以下操作:
python -m weasyprint http://weasyprint.org weasyprint.pdf发布于 2020-07-13 01:36:16
安装GTK+对我不起作用。我使用UniConverter2.0解决了这个问题。我的环境是
C:\Program Files\UniConvertor-2.0rc4\dlls)发布于 2020-08-04 20:31:02
从Python3.8开始,需要单独添加dll。添加了GTK+,MSYS2,Visual编译器和统一转换器。但是,似乎什么都起不到作用。最后,在将调用add_dll_directory的脚本放入之后,它就可以工作了。
import os
def set_dll_search_path():
# Python 3.8 no longer searches for DLLs in PATH, so we have to add
# everything in PATH manually. Note that unlike PATH add_dll_directory
# has no defined order, so if there are two cairo DLLs in PATH we
# might get a random one.
if os.name != "nt" or not hasattr(os, "add_dll_directory"):
return
for p in os.environ.get("PATH", "").split(os.pathsep):
try:
os.add_dll_directory(p)
except OSError:
pass
set_dll_search_path()https://stackoverflow.com/questions/59481394
复制相似问题