Python Docker 镜像中安装中文字体及本地配置指南

咖啡半糖
咖啡半糖
发布时间:2026-10-13| 5人浏览过
原创

本文详解如何在Python Docker镜像中安装中文字体以解决中文显示乱码问题。通过修改Dockerfile使用apt-get安装字体支持库,并复制字体文件至指定目录,最后执行fc-cache更新缓存。同时提供在本地Python环境中查询和设置中文字体的方法,如使用SimHei黑体,确保跨平台开发环境的一致性。

Docker镜像中文字体安装方案

当某些Python应用(例如pygraphviz)需要渲染中文内容时,若基础镜像未预装中文字体,会导致中文显示为乱码。因此,必须在构建的Docker镜像中手动安装中文字体支持。

标准的Python官方Docker镜像默认不包含任何中文字体资源。

mac-temp:relation_graph test$ docker run --rm -it python bash root@36d738e2084c:/# fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book

为了实现中文字体支持,需编写如下Dockerfile进行配置:

FROM python RUN apt-get update RUN apt-get install -y apt-utils dialog xfonts-utils COPY ./wqy-microhei.ttc /usr/share/fonts/ RUN cd /usr/share/fonts/ RUN mkfontscale && mkfontdir && fc-cache

完成Dockerfile编写后,需重新构建Docker镜像。

mac-temp:ttc test$ docker build -t ttc:0.0.1 .

构建完成后,进入新镜像验证中文字体是否安装成功。

mac-temp:ttc test$ docker run --rm -it ttc:0.0.1 bash root@b1cc465b4ba9:/# fc-list :lang=zh-cn /usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei,文泉驛微米黑,文泉驿微米黑:style=Regular /usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Regular

上述示例中使用的wqy-microhei.ttc字体文件可从其他桌面操作系统中获取。例如,在macOS系统中可通过以下命令查找可用的中文字体路径:

mac-temp test$ fc-list :lang=zh-cn /System/Library/Assets/com_apple_MobileAsset_Font4/2e3dd84241cc7676f2fc8c357c9087fee8cd0075.asset/AssetData/Lantinghei.ttc: 兰亭黑\-简,蘭亭黑\-簡,Lantinghei SC:style=Demibold,中黑 /System/Library/Assets/com_apple_MobileAsset_Font4/8d69c72f04dcc2dfc086aa401dbab7f8ec55d0bb.asset/AssetData/Kaiti.ttc: 楷体\-繁,楷體\-繁,Kaiti TC:style:黑体,黑體,Black

本地Python环境字体配置

补充知识:Python本地环境中的中文字体设置方法。

在Docker镜像中成功安装字体后,本地开发环境中的代码可能仍无法直接识别该字体,因为本地系统并未安装相同字体。

可以通过运行特定Python代码来打印出当前电脑环境中已安装的所有字体列表。

在输出的字体列表中,找到需要的中文字体名称(如SimHei,即黑体),将其赋值给相应的字体配置参数即可。

注意:在代码中指定字体名称时,必须使用单引号包裹字体名。务必加单引号!!!务必加单引号!!!务必加单引号!!!

具体配置示例如下:

plt.rcParams['font.family'] = 'SimHei'

用于查询本地已安装字体的Python代码如下:


import matplotlib.font_manager as fm

for font in fm.fontManager.ttflist:
 print(font.name)

import matplotlib.font_manager as fm for font in fm.fontManager.ttflist: print(font.name)

以上关于在Python Docker镜像中安装中文字体及本地配置的方法即为全部内容,希望能为读者提供有效参考。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。