jupyter notebook导出为pdf时中文字符问题

记录一下解决过程,解决方案耗时6h。
因为公司需要递交完整的分析过程,需要将notebook导出为pdf作为材料,但是国内是不可能避免使用中文路径或者注释的。
默认安装的jupyter和nbconvert、pandoc
xetex是不认中文的。
参考了以下内容,做了一个docker容器,专用于导出pdf。
github
ubuntu论坛
简书

由于各个参考答案和docker总是有那样这样的问题,所以调试也费了一番周折,最后要做以下工作

1、找一个中文字体文件.ttf,案例用的msyh.ttf,重建系统字体索引
2、修改nbconvert的base.tplx与article.tplx,容器内则是直接替换
3、写好dockerfile,构建镜像

整个所需的工具包在csdn资源里
如果404是表示在审核

FROM python:3

WORKDIR /DataScience
RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
COPY ./sources.list /etc/apt/sources.list
RUN apt-get install apt-transport-https ca-certificates -y
RUN apt-get update
COPY ./*.ttf /usr/share/fonts/
RUN fc-cache -f -v
RUN apt-get install pandoc texlive-xetex -y
RUN apt-get install inkscape -y
RUN pip install --trusted-host https://mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple jupyterlab numpy numba scipy pandas matplotlib nbconvert --no-cache-dir
COPY ./*.tplx /usr/local/lib/python3.8/site-packages/nbconvert/templates/latex/
EXPOSE 8888
CMD jupyter lab --no-browser --ip='0.0.0.0' --allow-root
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值