Python 2.7 환경에서 matplotlib.pyplot 이슈 모음

 몇 가지 이슈 및 해결 방안을 기록해 본다.

1. Unicode 관련 이슈

문제:

matplotlib import 실패


Traceback (most recent call last):

  File "c:/Users/Jihwan Moon/OneDrive/PC/Chosun/2021/2021_02_"한글 뭐시기 뭐시기"/02_Codes/Rx_main.py", line 3, in <module>

    import matplotlib.pyplot as plt

  File "C:\Anaconda3\envs\python27\lib\site-packages\matplotlib\pyplot.py", line 71, in <module>

    from matplotlib.backends import pylab_setup

  File "C:\Anaconda3\envs\python27\lib\site-packages\matplotlib\backends\__init__.py", line 16, in <module>

    line for line in traceback.format_stack()

  File "C:\Anaconda3\envs\python27\lib\site-packages\matplotlib\backends\__init__.py", line 18, in <genexpr>

    if not line.startswith('  File "<frozen importlib._bootstrap'))

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 61: ordinal not in range(128)


원인:

현재 실행중인 main python 소스 코드 경로에 한글로 된 폴더가 존재하는 경우


해결 방법:

Python 2.7을 직접 손봐야 하는데 그렇게 하기 싫어서 그냥 경로에 포함된 모든 폴더의 이름 자체를 한글로 바꿔버림.


2. Qt 관련 이슈

문제:

위 1번 문제 해결 후에도 matplotlib import 실패


This application failed to start because it could not find or load the Qt platform plugin "windows"

in "".

Available platform plugins are: minimal, offscreen, windows.

Reinstalling the application may fix this problem.


원인:

Python 2.7용 PyQt5는 Qt plugin 경로를 찾지 못하는 것 같음


해결 방법:

환경변수에 Qt plugin 경로를 삽입

변수 이름: QT_PLUGIN_PATH

변수 값: (Anaconda 설치된 곳)\Library\plugins



그 후 사용 중인 IDE/Editor 재시작

.

.

.

그래도 안됨 ㅜㅜ

plot 창이 한 5초? 정도 켜졌다가 여전히 다시 꺼짐.

그래서 다시 이 stackflow에 달린 답변들을 하나 하나 살펴보다가 plot 할 때 Qt 말고 TKAgg라는 플러그인(?)으로 그리는 방법도 있다는 것을 깨달음.

How to fix “could not find or load the Qt platform plugin windows” while using Matplotlib in PyCharm

그래서 소스 코드 맨 위 import 하는 부분에 다음을 추가

import matplotlib

matplotlib.use('TKAgg')

import matplotlib.pyplot as plt

주의할 점은 matplotlib.use('TKAgg') 부분을 반드시 matplotlib.pyplot 을 import 하기 전에 삽입해야 한다는 것.

일단 성공.



Comments