인프런 커뮤니티 질문&답변

nealzs님의 프로필 이미지
nealzs

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

folium 인코딩 문제

작성

·

525

1

안녕하세요

현재 folium쪽 강의를 듣고 있는데

지도에 표시되는 popup이나 tooltip이 한글이면 깨지는 현상 때문에 문의드립니다.

mac os인데 folium 실행코드 내에 인코딩을 바꾸는 파라미터가 있는지 궁금합니다.

html 저장말고 jupyter notebook 내에서 시각화한 셀에서는 해결 방법이 있을까요?

검색해도 잘 모르겠슴다

답변 7

2

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요. 이 문제 해결되셨나요?

이 질문을 많이 주셔서 folium 을 삭제하고 재설치 해봤는데요. 저도 다시 설치하니 같은 문제가 발생했어요.

folium 에 인코딩 이슈가 있는데요. 환경에 따라 인코딩 문제가 발생하기도 하고 저처럼 잘 표현되기도 해요.

버전 문제 인거 같아서 여러 버전을 바꿔서 설치해 봤는데도 같은 문제가 있었어요.

이 이슈는 잘 알려진 이슈로 다음의 github 링크에서도 확인해 보실 수 있어요.

[Unicode issue in tooltips on Jupyter notebook · Issue #1320 · python-visualization/folium](https://github.com/python-visualization/folium/issues/1320)

저는 여기에 나와있는 답변 중에  아래의 답변을 통해 이 문제를 해결했어요.

추가로 아래의 패키지를 설치해 주시면 한글폰트가 주피터 노트북 상에서도 잘 표현이 됩니다.

아래의 pip 구문을 참고하셔서 folium 을 설치하셨을 때처럼 아나콘다 프롬프트를 통해 설치해 주세요!

A fix has been merged in the branca library. It will be availabe in the next release, release date yet unknown. If you want it earlier you can install branca from the git main branch:

pip install git+https://github.com/python-visualization/branca.git@master

1

nealzs님의 프로필 이미지
nealzs
질문자

항상 상세한 설명 감사합니다

강의 들으면서 열심히 배우고 있어요!!

github도 이용해 보겠습니다.

1

안녕하세요.

강사님이 위에서 언급해주신대로 cmd 창과 아나콘다 프롬프트에서

관리자 권한으로 실행해서 설치하려했는데,

아래와 같이 나오네요.

검색해도 방법을 모르겠어서 글 남깁니다 ㅠㅠ

1

nealzs님의 프로필 이미지
nealzs
질문자

오!!! folium에서 한글이 잘 표현됩니다!!

감사합니다!!

해당 패키지를 설치하였을때 주피터 노트북 상에서 한글이 잘 표현되는 것이 folium을 이용한 시각화에만 제한된 것이

아니라 전체적으로 적용되는 것인가요??

아직 깃허브는 어떻게 사용하는지 잘 모르겠어서요.. ㅎㅎ

0

박조은님의 프로필 이미지
박조은
지식공유자

감사합니다 :)

0

박조은님의 프로필 이미지
박조은
지식공유자

nealzs 님 해당 패키지는 folium 에 제한된 것으로 보여져요.

github 는 단순하게 코드 저장소라고 보시면 될 것 같아요. 

제 강좌의 소스코드도 github 에 올려두었는데요. 코드의 버전을 관리할 수 있는 소셜코딩 사이트 에요.

github 은 마이크로소프트에 인수가 되었고 많은 기업에서 소스코드 저장소로 활용하고 있어요.

yongjunkim1993 님 한글폰트 표현을 위해 설치를 추천하는 branca 는 pip 나 conda 에 패키지로 등록이 되어 있지 않아서 pip로 최신 소스코드를 받아서 설치해야하는데요. git을 통해서 설치하다보니 git 이 장비에 설치가 되어 있어야해요.

git 설치방법은 검색을 해보면 많이 나오니 직접 설치해 보시는 걸 추천해요.

또, git 은 소스코드의 버전관리 도구로 개발자 뿐만 아니라 분석가들도 현업에서 많이 사용하고 있는 툴이에요.

이번 기회에 사용해 보시는 것도 좋을거 같아요!

0

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

folium 내부의 iframe의 인코딩을 변경해 주는 방법이 있는데요. 

설치된 folium 의 소스코드를 찾아서 주피터 노트북 내에 iframe을 그려주는 코드를 수정해주면 되는데 좀 복잡합니다 ㅠㅠ

아마도 아래 코드를 찾아서 변경하시는 방법이 있을거 같은데 

anaconda3/lib/python3.X/site-packages/folium/element.py

렌더 함수 내에 렌더 함수 내에 html 변수 안에  다음의 값을 추가해 주셔도 되는데  버전에 따라 이미 utf-8;base64 로 설정이 되어 있을 수도 있어요.

"data:text/html;base64"->"data:text/html;charset=utf-8;base64"

그래서 아쉽게도 html로 저장해서 보는 방법이 가장 간단해요.

그리고 google colaboratory 를 사용하시는 방법도 있습니다.

nealzs님의 프로필 이미지
nealzs

작성한 질문수

질문하기