본문 바로가기
Python

GUI2EXE를 이용해 pylab 사용하기

by irmus 2009. 10. 10.
pylab 혹은 scipy. matplotlib를 포함하여 여러 다양한 matlab 유사 기능들을 제공하는 아주 참한 패키지. 그러나 py2exe와는 그닥 친하지 않다. wxPython과 함께 쓰려면 더더욱.

scipy를 이용하는 간단한 스크립트를 GUI2EXE를 이용해 EXE로 변환하는 과정을 짚어가면서 정리.

샘플 스크립트 :
우선 GUI2EXE에서 matplotlib datafile을 추가한다.
사용자 삽입 이미지
우측 하단의 녹색 아이콘을 클릭해서 matplotlib의 datafile들을 추가해 준다.
datafile들은 site-packages/matplotlib/mpl-data 폴더와 site-packages/matplotlib/mpl-data/images 내의 모든 파일을 추가하면 된다.(이미지파일들이 같은 내용 여러 형식으로 중복 존재한다. 이들 중 한 형식만 지정하면 될것 같지만 귀찮아서 테스트 안하고 다 포함시켜버림-_-) -> 추가내용: 간단한 plot 넣어서 테스트 해 보니 ppm 형식만 추가하면 되는듯. 상황에 따라 다를 가능성이 높지만, 일단 필요한 이미지가 없으면 이미지 파일 이름이 에러 메시지 찍혀 나오므로 과감하게 빼고 테스트 해도 무방하다.
각 폴더의 이름에 맞춰 directory 를 설정한다. mpl-data, mpl-data/images와 같이...


이렇게 설정하고 compile하면 일단 컴파일 잘 된다. 하지만 에러 발생

마지막 줄을 보면 backend-tkagg가 없다고 한다. 그러면 이걸 includes에다 추가하자.
사용자 삽입 이미지

이제 다시 실행해 보면.... 이젠 Tkinter가 없다고 한다. 그럼 Tkinter도 추가하면 되나? 싶지만 가만 살펴보면 Excludes에 이녀석이 들어 있다. 즉 GUI2EXE가 기본으로 제외시켜주는 녀석인 샘. 그러니 Excludes에서 이녀석만 지워주면 된다.
이제 돌겠지 하고 돌려보면... Tkconstants가 없다고... -_-; 요구하는것도 참 많은 녀석... 여튼이것도 Excludes에 있었으니 마찬가지로 삭제.

드디어 성공 ㅠ_ㅠ
메뉴얼이 없다보니 쓰기 좀 어려웠지만 메일링리스트 아카이브 뒤지기 신공으로... 이제 다음 산은 wxPython과 matplotlib 같이 쓰는 녀석을 GUI2EXE로 컨버팅하기.