zoukankan      html  css  js  c++  java
  • cairosvg使用过程中需要注意的问题

    在使用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 "<stdin>", line 1, in <module>
    File "C:Userswu_xiangAppDataLocalProgramsPythonPython36libsite-packa
    escairocffi\__init__.py", line 50, in <module>
    ('libcairo.so', 'libcairo.2.dylib', 'libcairo-2.dll'))
    File "C:Userswu_xiangAppDataLocalProgramsPythonPython36libsite-packa
    escairocffi\__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版本的,经测试也可以正常使用

    http://ftp.acc.umu.se/pub/GNOME/binaries/win64/

    下载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 import Style
    style=Style(font_family="SimHei")
    *snip*
    hist=pygal.Bar(style=style)
    *snip*
    hist.render_to_png("save.png")

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

  • 相关阅读:
    js实现: e.keycode详解
    jquery 无法设置selected属性,未指明的错误
    NHibernate配置引发的异常
    NetTiers模板属性说明
    Visual Studio 2010 安装“deffactory.dat can not open” 的解决办法
    wia Kodak 扫描仪应用 winform
    Tif文件转换成GIF列表
    JQuery ListBox间移动和ListBox内上下移动
    Mysql存储过程游标循环操作
    CentOS 5下freeswitch中集成使用ekho实现TTS功能一
  • 原文地址:https://www.cnblogs.com/xiang-wu/p/11603426.html
Copyright © 2011-2022 走看看