当前位置: 首页 > 工具软件 > CairoSVG > 使用案例 >

cairosvg在linux中的安装_cairosvg使用过程中需要注意的问题

柳胜
2023-12-01

在使用pygal的过程中,图片默认保存的是svg格式,如果需要生成本地的图片需要进行一些配置。下面是在摸索时的一些流程:

1.查看pygal的函数,dir(pygal.bar),发现其支持保存为png图片的,提供现有函数pygal.Bar.render_to_png(),但是在直接应用会报错,提示没有安装cairosvg安装包。

2.安装cairosvg,完成后import cairosvg发现缺少支撑包cairocffi。继续安装,默认pip安装经常会出错,可以更改默认地址,可以使用 https://pypi.tuna.tsinghua.edu.cn/simple  ,有时候也会中途出错,可以直接访问网址下载.whl文件到本地进行安装,一般不会再出现问题。

3.安装完上述环境后,发现还是提示缺少包

File "", line 1, in

File "C:\Users\wu_xiang\AppData\Local\Programs\Python\Python36\lib\site-packa

es\cairocffi\__init__.py", line 50, in

('libcairo.so', 'libcairo.2.dylib', 'libcairo-2.dll'))

File "C:\Users\wu_xiang\AppData\Local\Programs\Python\Python36\lib\site-packa

es\cairocffi\__init__.py", line 45, in dlopen

raise OSError(error_message) # pragma: no cover

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 0x7e

cannot load library 'libcairo-2.dll': error 0x7e

缺少libcairo-2一系列包,这些二维图形数据包,经https://blog.csdn.net/hacklyc/article/details/77101965提示,可以安装GTK获的。而原贴的下载地址失效了,找到了一个新的地址,但是只有.2版本的,经测试也可以正常使用

下载gtk相关文件,并把目录下bin文件添加到环境变量的path值中,再尝试运行import cairosvg。

4.还是报错了,额,发现是pygal的版本太低,查询下安装的pygal版本,pygal.__version__,发现只是1.0的,更新pygal的版本到2.4.0。发现可以正常运行了。pygal.Bar.render_to_png(“test.png”)可以生成相应图片。

5.生成的图片设置有中文字符,发现生成的svg文件可以正常显示,而png文件不能正常显示。

设置pygal.style:

from pygal.style importStyle

style=Style(font_family="SimHei")*snip*hist=pygal.Bar(style=style)*snip*hist.render_to_png("save.png")

生成的png文件中文字符正常显示了。记录过程,方便之后查看。

 类似资料: