프롤로그

한 달 동안인가? 열심히 Python 코드를 작성 한 후, 여러 가지 테스트 끝에 Release를 실시했었다. 파이썬이 깔려 있지 않은 PC에서도 실행이 가능하도록 Pyinstaller로 Exe 파일로 변환해서 말이다.

그런데 지난 주에 내 노트북 SSD가 문제가 생겨 부팅이 되지 않는 것이었다. 모든 데이터가 순식간에 다 날라가 버린것이다. 물론 그 Python 코드도 말이다.

구글링을 통해 열심히 복구하기 위해 노력했지만, 데이터 복구 업체가 괜히 있는게 아니라는 생각이 들었다. 복구와 같은 고급 기술은 몇날 몇일을 구글링해도 나와있지 않았다. 물론 간단한 복구 툴소개 및 진단 방법에 대해서는 적지 않은 자료가 있지만 말이다.

결국 구글링은 포기하고 데이터 복구 업체를 컨택해서 복구 비용을 물어 보았지만, SSD의 경우는 일반 HDD 대비 복구 비용이 3배 이상은 비쌌다. 일반 HDD의 경우 1TB 용량은 20~30만원선이었지만, SSD의 경우 1TB 용량은 60~80만원이었다.

고민끝에 Cloud 서비스들에 그나마 조금씩 공유했던 자료들을 긁어 모으기 시작했고, 고생 고생 끝에 그럭저럭 데이터들을 복구할 수 있었다.

하지만 한 달 동안 고생하며 짰던 Python 코드는 복구 할 수 없었다. 하지만 천만 다행으로 Pyinstaller로 Release 했던 Exe 파일하나를 찾을 수 있었다.

자, Pyinstaller로 만든 파이썬 exe 파일을 원래 파이썬 소스 파일인 py로 변환하기만 하면 된다 !!!

 

어떻게 하면 될까?

3일 동안 틈나는 대로 구글링을 하여 Exe 파일을 py 파일로 변환하는 것을 찾아보았다. 외국의 사례에서도 나와 같은 경험을 한 사람들이 꽤나 있었다. 하지만, 의외로 명쾌한 답을 찾기는 어려워 보였다. 하지만 다행이도 Jako 님의 Blog를 통해 좀 더 확실히 솔루션에 접근을 할 수 있었다.

https://klonic.tistory.com/115

 

pyinstaller로 변환 된 exe 파일 디컴파일 시키기

Pyinstaller 디컴파일 pyinstaller란 .py 파일을 .exe 파일로 변환할 때 쓰는 프로그램 입니다. pip install pyinstaller로 설치가 가능하고 설치가 되고나면 윈도우 커맨드에서 pyinstaller 라는 명령어로 실행..

klonic.tistory.com

위의 Blog의 내용을 바탕으로 본인이 실습한 내용을 다음과 같이 설명하고자 한다.

 

준비

다음과 같은 Tool이 필요하다.

 

exe 파일을 py 파일로 변환하기

준비가 끝마쳐졌으면, 파이썬 exe 파일을 작업을 할 폴더로 이동을 한다(참고로, 본인의 경우 "findgoodprice_naver.exe" 파일이며, 작업 폴더는 "D:\04_Code" 이며, 또한 Visual Studio Code를 Editor로 사용하고 있다).

하기와 같이 Visual Studio Code(VSC)의 Terminal 창에서 작업 폴더로 이동한 후, 미리 Down 받은 Pyinstxtractor.py을 실행하여 exe 파일을 pyc 파일로 변환한다.

python pyinstxtractor.py findgoodprice_naver.exe

참고로, 파이썬으로 만든 exe 파일의 파이썬 버젼과 동일한 버젼의 파이썬을 이용해야 한다.

본인의 경우 exe 파일은 3.76으로 작성을 하였으며, 새로 설치한 파이썬도 3.76 버젼이다.

만약 버젼이 맞지 않은 경우 하기와 같이 Warning 메시지가 뜬다.

+ Recent posts