본문 바로가기
AWS/EC2

EC2서버 스트림릿 한글 폰트 적용법 2) 폰트 설정 및 수정

by 하니__ 2024. 5. 2.

스트림릿 한글 폰트 적용법 1) 폰트 설치

 

 

 

폰트 설치 후 다음 단계로 넘어간다

 

 

PuTTy에서 fc-list를 입력하여 사용할 폰트의 경로를 확인해두자

 

fc-list

 

 

글 작성자의 경우는 이곳에 저장되어있다

 

/usr/share/fonts/NanumGothic.ttf

 

일단 복사를 해두자

 

 

python

 

을 입력하여 파이썬 명령어를 사용할 수 있게 하고

 

 

import matplotlib
print(matplotlib.__version__) # matplotlib 버전확인
print(matplotlib.__file__) # 설치 폴더 경로 확인
print(matplotlib.get_cachedir()) # 캐시 폴더 경로 확인

 

를 입력하여

 

매트플롯라이브러리를 설치하고 버전확인과 경로를 확인해두자

 

 

그 후에

 

이제 CTRL+D를 입력하여 다시 리눅스환경으로 돌아온뒤에

 

sudo cp -r /usr/share/fonts/* /home/ec2-user/anaconda3/envs/가상환경이름/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/
rm -rf /home/ec2-user/.cache/matplotlib/*

를 입력하여

 

/usr/share/fonts/ 에 존재하는 모든 파일(모든 폰트)를

 

/home/ec2-user/anaconda3/envs/가상환경이름/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/로 즉 matplotlib의 폰트 폴더의 경로로 모두 복사하는것을 의미한다

이 경로는 위에서 확인한 matplotlib의 설치폴더 경로에

mpl-data/fonts/ttf/를 추가하여 경로를 지정한다

 

rm -rf /home/ec2-user/.cache/matplotlib/* 그 후 이 명령어로 인해 matplotlib 폴더의 캐시파일을 삭제하게 되는데

 

 

새로운 폰트를 사용하거나 설정을 변경한 경우

이전에 생성된 캐시 파일이 그대로 남아있어서

변경된 설정이 적용되지 않을 수 있기 때문에

 

캐시파일을 삭제하여 변경된 설정이 잘 적용 될 수 있도록 하자

 

하지만 이 작업은 폰트 저장이 많다면 시스템 자원을 과도하게 이용할수 있으니

 

사용할 폰트 1종류 만을 가져오는것이 좋을것이다

 

 

 

 

 

 

 

 

 

이후 다시 확인을 위해

 

python

 

을 입력하여 파이썬 명령어를 입력하도록 하자

 

import matplotlib
import matplotlib.font_manager

# 나눔 폰트 설치 확인
[f.name for f in matplotlib.font_manager.fontManager.ttflist if 'Nanum' in f.name]

우리가 설치한 나눔 폰트가 설치 되어 있는지 확인하자

 

 

정상적으로 설치가 된 것을 확인 할 수 있다

 

이제 스트림릿을 실행하는 파일을 vs코드로 실행하여

 

    # Streamlit File *.py
    import platform
    from matplotlib import font_manager, rc
    plt.rcParams['axes.unicode_minus'] = False
    if platform.system() == 'Linux':
        rc('font', family='NanumGothic')

family에 사용하고 싶은 폰트 이름을 수정하여

 

def main() :

아래에 들어갈 수 있게 해주자

 

이후 서버에 착실히 올려주면

 

 

한글이 깨지던 부분이 수정되었다