🐳
matplotlibでフォントが見つからないときの対処(Docker)
概要
Dockerで構築した環境にてTimes New Romanのフォントを使えないときの対処法
使用した環境
python:3.9.14
解決策
以下のコマンドで必要なパッケージをインストール。
apt update
apt install -y cabextract libfontenc1 libmspack0 xfonts-encodings xfonts-utils
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
dpkg -i ttf-mscorefonts-installer_3.6_all.deb
rm ttf-mscorefonts-installer_3.6_all.deb
確認
以下のコマンドでインストールされているフォントの中でTimes_New_Romanという文字列を含むフォントを確認できる。
fc-list | grep Times_New_Roman
出力の中にTimes New Romanの ttfファイルが含まれていればOK.
プラスアルファ
以下のように Dockerfileに上の解決策を書いておけば、イメージ作成時に環境構築が完了する。
FROM python:3.9.14
# install font
RUN apt update
RUN apt install -y cabextract libfontenc1 libmspack0 xfonts-encodings xfonts-utils
RUN wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
RUN dpkg -i ttf-mscorefonts-installer_3.6_all.deb
RUN rm ttf-mscorefonts-installer_3.6_all.deb
参考
Cannot install the package ttf-mscorefonts-installer - Ask Ubuntu
Discussion