美文网首页
pyecharts在CentOS下生成图片遇到的问题

pyecharts在CentOS下生成图片遇到的问题

作者: 喵喵Alin | 来源:发表于2020-08-20 15:19 被阅读0次

    最近在做一份数据报表,想把统计图渲染成图片,然后插入到word文档中,做简单分析。
    pyecharts不用写前台页面,也提供了图片渲染方法,是理想中的那个他~
    pyecharts生成图片有3种方法,我选了snapshot-pyppeteer,在windows下开发的,一路下来很顺畅,移到linux(CentOS)上时出现了下面这2个错误:

    • raise BadStatusLine(line)
      http.client.BadStatusLine: GET /json/version HTTP/1.1
    • pyppeteer.errors.BrowserError: Browser closed unexpectedly:

    解决办法:

    先把依赖包装好,如下

    yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y
    
    yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y
    

    修改snapshot_pyppeteer下的snapshot,添加 --no-sandbox



    此时,脚本已经能正常运行了,但是生成图片后发现中文乱码了


    解决办法:
    1. 安装fontconofig
      yum -y install fontconfig

    2. 在/usr/share/fonts下新建文件夹chinese,从windows的C:\windows\fonts下把需要的字体拷贝出来,上传到刚新建的文件夹下

    3. 修改chinese目录权限:
      chmod -R 755 /usr/share/fonts/chinese

    4. 安装ttmkfdir,并生成fonts.scale文件

    yum -y install ttmkfdir 
    ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir 
    
    1. 修改字体配置文件
      vi /etc/fonts/fonts.conf
      找到“”,增加一行:
      <dir>/usr/share/fonts/chinese</dir>
    2. 清除缓存
      fc-cache

    后记:
    在第一个问题上磕了很久,有尝试过非root权限用户使用chromium,看到 “--no-sandbox”时不知道怎么添加。。。如果是先接触过pyppeteer,可能这个问题就变得简单了——“关闭沙盒模式”。

    相关文章

      网友评论

          本文标题:pyecharts在CentOS下生成图片遇到的问题

          本文链接:https://www.haomeiwen.com/subject/pvysjktx.html