Daily Life of BlueRose

컴퓨터 & 코딩 공부/파이썬

파이썬 Library/API - Pyinstaller(실행파일 제작 / 소스코드 보호)

푸른로즈 2024. 4. 19. 20:51
728x90

Pyinstaller는 파이썬으로 제작한 파일을 배포할 수 있도록 실행파일로 만들어주는 프로그램입니다.


IDE와 실행파일이 엑셀 그 자체인 VBA와 달리, 파이썬은 코드를 실행파일로 만들어서 배포해야 합니다.

 

C++을 실행파일로 만드는것과 동일한 셈이죠. 그러나 C++... 정확히는 코드작성을 위한 비주얼스튜디오에서 EXE파일 생서을 지원해주는것과 달리, 파이썬의 경우에는 PyInstaller라는 별도의 라이브러리를 사용해야 합니다.

 

본인만 사용하는 코드라면 크게 상관없지만, 다른사람들과 공유하려면 꼭 알아둬야 하는 필수 라이브러리입니다. 애초에 EXE파일 생성이라는 단일 기능을 위해 사용하는 만큼 크게 변경할 부분이 없다보니, 사용법은 꽤나 간단한 편입니다.

 

  • 저작권
    • 원칙 : GPL 라이선스
    • 예외조항 : 상용 소프트웨어의 빌드 및 배포에 대하여 GPL적용 예외
 
  • 설치 : pip install pyinstaller
 
  • 사용법 : 콘솔창에서 "pyinstaller –w –F .\파일명.py" 입력
    • w는 실행시 도스창이 뜨는 것을 방지하기 위함(단, 도스창이 없으면 Print결과 조회 불가)
    • F는 실행파일을 1개로 만들기 위함
 
  • 실제 필요한 파일은 dist폴더만 있으면 됨(나머지는 삭제해도 무방함)
    • F를 입력하지 않았다면 여러개의 파일로 나눠져 있음
    • F를 입력했다면 압축된 하나의 파일만 존재하며, 실행시 속도가 다소 느림
 
  • 주의사항
    • 윈도우 운영체제 : 설치버전에 따라 64비트 / 32비트로 빌드되며, 64비트에서 생성한 파일은 32비트에서 실행되지 않는다.(뚜렷한 해법은 없는 것으로 보인다.)
    • win32com-한글 사용시 : genCache.EnsureDynamic을 활용하여 코딩한 경우, IDE에서 실행시에는 아무런 문제가 없다가 Pyinstaller로 제작한 실행파일을 구동할 때 오류가 발생한다. 따라서 genCache.EnsureDispatch대신 dynamic.Dispatch를 사용하자
 
 
 
반응형