Dockerfile에 matplotlib로 일본어 표기를 할 수 있는 설정을 썼다
4569 단어 파이썬도커matplotlib우분투
소개
docker 환경에서 web 앱 개발을 하고 있었습니다만, 거기에 그림을 표시해 보고 싶어지고 matplotlib를 넣었습니다. 그러나 왠지 일본어 표기를 할 수 없어서 손질했기 때문에, 그 기록으로서 남깁니다.
다른 기사를 여러가지 찾았지만, jupyter의 docker 이미지를 사용하고 있는 것이 많고, 우분투를 사용하고 있는 것이 발견되지 않았기 때문에, 누군가의 도움이 되면 기쁩니다.
참고로 한 기사 :
Docker 환경의 Python에서 일본어를 사용할 수 있도록
Dockerfile
dockerfile
FROM ubuntu:18.04
RUN apt-get -y update \
&& apt-get -y upgrade \
&& apt-get install -y locales curl python3-distutils \
&& apt-get install -y unzip\
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& python3 get-pip.py \
&& pip install -U pip \
&& pip install psycopg2-binary \
&& mkdir /code\
&& rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8\
&& rm get-pip.py
WORKDIR /code
ADD requirements.txt /code
# requirements.txtからパッケージのインストール
RUN pip install -r requirements.txt
# matplotlibで日本語を使うための設定
WORKDIR /
RUN curl -L "https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip" > font.zip \
&& unzip font.zip\
&& touch /usr/local/lib/python3.6/dist-packages/matplotlib/mpl-data/fonts/ttf/ipaexg.ttf\
&& cp IPAexfont00401/ipaexg.ttf /usr/local/lib/python3.6/dist-packages/matplotlib/mpl-data/fonts/ttf/ipaexg.ttf \
&& echo "font.family : IPAexGothic" >> /usr/local/lib/python3.6/dist-packages/matplotlib/mpl-data/matplotlibrc \
&& rm -r ./root/.cache
CMD ["bash"]
matplotlib로 일본어 표기를 할 수 없는 원인은 일본어 표기를 가능하게 하는 폰트가 없기 때문입니다.
따라서 글꼴을 다운로드하여 적절한 위치에 넣습니다.
이번에 사용하는 파이썬 버전은 python3.6입니다. 버전에 따라 경로를 변경하는 것이 좋습니다.
또한 우분투 환경에서는 unzip 명령이 없었기 때문에 설치했습니다.
데이터 처리에 사용할 수 있는 라이브러리는 requirements.txt에 있습니다. (django를 사용하고 있기 때문에 그것도 넣고 있습니다)
requirements.txt
django
numpy
pandas
matplotlib
seaborn
그런 다음 docker-compose.yml에 적절한 코드를 작성하고 실행하면됩니다. docker-compose.yml은 특별히 변경되지 않았습니다.
결과
할 수 있었다!
요약
다른 사이트에서는 jupyter 이미지로 쓰고 있는 것이 많아, 도중에 그렇게 하는 것이 좋았을까라고 생각했습니다만, 우분투에서도 할 수 있었기 때문에 좋았습니다. 처음부터 데이터 분석 라이브러리를 넣는다고 알고 있으면 jupyter 쪽이 좋았을까요.... 아직 거기엔의 지식이 전혀 없기 때문에, 좀 더 심해지고 싶습니다.
만약 뭔가 잘못되었거나 가르쳐 주시면 고맙습니다!
Reference
이 문제에 관하여(Dockerfile에 matplotlib로 일본어 표기를 할 수 있는 설정을 썼다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryota_310/items/148fcd2a8ee6b35a93bf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)