problem:
python에서 matplotlib를 사용하여 그래프를 화면에 출력하려고 할때 아래와 같은 오류 메시지가 나오고 제대로 안되는 경우가 있다.
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dhpark/.asdf/installs/python/3.5.2/lib/python3.5/tkinter/__init__.py", line 35, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
__init__.py 파일에서 모듈 import에 실패한다는 것인데 해결 방법은 찾아보면 간단하다.
solution #1:
우분투의 경우 python3-tk, tk-dev 패키지 두개만 깔면 해결된다.
그러나 이 방법은 package manager를 통해서 python3를 깔았을때에만 적용되는 것으로 보인다.
solution #2:
요즘은 버전간의 자유로운 전환을 위해서 virtualenv나 asdf같은 유틸리티의 도움을 받는 경우가 많은데 (물론 내경우도 포함), 이 경우에는 #1의 해법이 통하지 않는다.
상기 패키지2개를 설치한 후에 python을 지우고 다시 깔아야한다.
asdf나 virtualenv같이 설치과정에서 compile을 거치는 놈들은 시스템에 설치안된 것을 생략해버리는 것으로 추측된다. 정확한 원인은 좀 더 봐야겠지만 귀찮다.
happy hackin'