파이썬 (pythoon)

파이썬 exe 변환 기본편 - Python Pyinstaller Converter

working for you 2023. 5. 2. 00:07
반응형

기존 간단히 개발한 유투브 다운로드 프로그램을 파이썬 exe 변환 및 실행을 위해 Python Pyinstaller Converter 팩키지를 사용하여 만들어 보려 합니다. 별도의 파이썬 인터프린터나 모듈 설치 없이, 윈도우에서 exe 실행 파일을 더블클릭하면 프로그램을 쉽게 사용 할 수 있습니다. 명령어는 간단하지만, 세부적인 옵션이 있으니 같이 공부해 봅시다.

[목차]
1. 파이썬 exe 변환 - Python Pyinstaller Converter
2. Python Pyinstaller Converter - 사용하기 (옵션포함)
3. 결론

파이썬 exe 변환
파이썬 exe 변환 후 실행모습

1. 파이썬 exe 변환 - Python Pyinstaller Converter

Pyinstaller Converter를 사용하기 위해서는 먼저 Pyinstaller 프로그램을 다운로드하고 설치해야 합니다. 아래 명령어를 입력하여 Pyinstaller를 설치할 수 있습니다.

pip install pyinstaller

폴더 경로 1
폴더 경로 2

유튜브 다운로드 프로그램 변환 폴더 경로 입니다. gui.py파일을 파이썬 exe 변환 및 적용할 것입니다.

2. Python Pyinstaller Converter - 사용하기 (옵션포함)

1) 기본 설정을 통한 exe 파일 생성

pyinstaller [파일명].py

pip 로 Pyinstaller 를 다 다운 받은 후 터미널 창에서 바로 아래와 같이 명령어를 입력해 줍니다.

pyinstaller gui.py

파이썬 exe 변환 실행
파이썬 exe 변환 실행 중
파이썬 exe 변환 폴더 변화
dist 폴더 생성 확인
파이썬 exe 변환 시스템파일


변환이 완료되면, 현재 디렉토리의 'dist' 폴더 안에 실행 파일이 생성되었음을 확인할 수 있습니다.

그런데 희한하게도 실행이 안됩니다. 아래 그림과 같이 커맨드창이 잠깐 켜졌다가 바로 종료되는 것을 볼 수 있습니다.

윈도우 콘솔창

왜 이런일이 있냐면, 기존에 gui.py를 변환 시킬때 이 파일 외에 사용하는 폴더가 같이 있기 때문 입니다. 그래서 gui.exe 파일을 생성 후에도 같은 폴더 구성을 세팅해줘야 합니다.

[기존 gui.py + path (banner.jpg and gui.ui)]

폴더 재설정 1

[변경 gui.exe + path(banner.jpg and gui.ui)]

폴더 및 파일 재설정 2
파일 복사하기

자, 이렇게 세팅 후 다시 gui.exe를 실행하면, 터미널 창과 함께, 문제 없이 프로그램이 실행 되는 것을 볼 수 있습니다.

파이썬 exe 변환 콘솔창 포함

이제부터 생성된 실행 파일을 이용하여 Python 파일을 실행할 수 있습니다. 간단하죠? 명령어 하나로 원하는 파이썬 exe 를 쉽게 생성하였습니다.

이제 dist 폴더의 이름을 변경하여 zip로 압축해서 지인이나 여러 사람들에 공유하시면 됩니다.

폴더 1화살표폴더 2

2) 옵션 설정을 통한 exe 파일 생성

기본 설정을 통해서 파이썬 exe 변환, 문제없이 되었지만 만족이 좀 되지 않는 것이 있습니다. 유튜브 다운로드 프로그램 뒤에 윈도우 커맨드 창이 늘 같이 뜨기 때문입니다. 또한, gui.exe 파일 외에 많은 시스템 파일들도 많이 거슬립니다. 이를 해결하는 방법이 없을까요?

해결방법은 역시 존재 합니다. pyinstaller 실행시 옵션을 설정해서 exe를 생성하면 됩니다. 예시전에 옵션에 대해서 먼저 안내해드리겠습니다.

- F 또는 --onefile : 하나의 실행 파일로 묶어줍니다.- w 또는 --noconsole : 콘솔 창을 띄우지 않고 실행 파일을 실행합니다.

- n [프로그램이름지정] : 실행 파일의 이름을 변경해서 exe를 생성합니다.

- icon=[아이콘 경로] : 실행 파일의 아이콘을 지정합니다.

필요하고 실제로 많이 쓰는 옵션만 안내해드렸는데요, pyinstaller 메뉴얼 사이트 링크 남겨드리니 필요시 꼭 참고하시 바랍니다.

Using PyInstaller — PyInstaller 5.10.1 documentation

Making GNU/Linux Apps Forward-Compatible Under GNU/Linux, PyInstaller does not bundle libc (the C standard library, usually glibc, the Gnu version) with the app. Instead, the app expects to link dynamically to the libc from the local OS where it runs. The

pyinstaller.org

참고로 이 옵션들은 동시 사용 가능합니다. 예를 들어 -F와 -W를 동시 사용시 커맨드창 소멸, exe 파일만 1개 생성이 적용 됩니다.

자 그럼 같이 예시를 보면서 알아보겠습니다. 기존에 만들었던 변환 폴더들을 다 지우고, 다시 명령어를 시작하기 위해 준비하겠습니다.

파이썬 exe 변환 후 폴더 재설정 삭제

3) 파이썬 exe를 하나의 실행파일로 생성하기 + 커맨드(콘솔)창 제거 + 이름변경

pyinstaller -w -F -n "yotube_downloader" gui.py

파이썬 exe 변환 명령어
파이썬 exe 변환 결과값

예상대로 모든 설정이 적용되서 파일이 변환되었습니다. 하지만 실행을 하면 에러가 납니다. 아까 위에서 설명드린 기존 참조하던 폴더경로 및 참조 파일을 미적용 했기 때문입니다. 그럼 적용 후 실행하겠습니다.

파이썬 exe 변환 최종

별도의 커맨드창 발생이 없고, 깔끔한 exe 파일 생성이 완료 되었습니다.

3. 결론 및 의견

Pyinstaller Converter를 사용하면 Python 코드를 실행 파일로 변환하여, Python 환경 설정의 번거로움을 줄일 수 있습니다. 또한 다양한 옵션을 제공하여 변환 결과를 자세하게 설정할 수 있으므로, 개발자들은 Pyinstaller Converter를 적극 활용해보길 권장합니다. 추가로, 변환 과정에서 발생할 수 있는 문제점에 대한 해결 방법도 함께 공유해보면 좋을 것 같습니다.

반응형