본문 바로가기
파이썬 - Python

[Python] py파일 exe로 만들기, python exe파일 만들기, pyinstaller

by devscb 2022. 5. 14.
반응형

[Python] py파일 exe로 만들기, python exe파일 만들기, pyinstaller

 

 

py파일의 단점과 exe파일의 이점


파이썬으로 코딩을 하시면 *.py 파일이 만들어지는데요, 이 파일을 다른 사람에게 배포하려고 하면 내부 내용이 다 보이는 문제점이 있습니다.
함부로 내용을 바꿔서 동작을 이상하게 만들 수 있습니다.


[py파일을 메모장으로 열때]

 

윈도에 기본적으로 설치되어 있는 계산기 프로그램 같은경우, .exe파일로 되어있어서 메모장으로 열려고 하면 이상한 문자로 표시되어 보이죠.

 

[exe파일을 메모장으로 열때]




나만 쓰는 프로그램이라면 문제가 없겠지만, 다른사람들이 쓰는 프로그램이라면 내 코드를 감추고 싶은 경우가 있을것입니다.
보안상이유라던지, 내가 짠 코드가 부끄러워서라던지요 ㅎ
또한, .py파일을 실행하려면 반드시 해당 컴퓨터에 파이썬이 설치되어 있어야 하며,
상대방이 내가 짠 py파일을 쓰게 하려면 파이썬 설치파일도 같이 제공해야하는 경우가 생길 수가 있지요.

반면에, exe파일의 경우 코드 내용도 알 수 없고, 프로그램을 배포할때 딱 exe파일만 보내줘도 상대방은 프로그램을 실행할 수 있습니다.
이러한 여러가지 이유로 py파일을 exe파일로 프로그램을 배포하고자 할경우 간단한 프로그램을 이용하면 됩니다.
바로 pyinstaller라는 프로그램을 이용하면 되는데요, 사용법을 알아보겠습니다.

pyinstaller 설치방법


- 요구사항
윈도우 : windows8 이상
맥OS : macOS 10.15(카탈리나) 이상
GNU/리눅스 : ldd, objdump 터미널 어플리케이션 필요로 함
AIX, Solaris, FreeBSD and OpenBSD : 사용가능하긴 하지만 정식적으로 테스트 되지는 않음.
(공통) 파이썬 버전 3.7~3.10

- (간단한) 설치 방법
python 이 설치된 상태에서, command창에 pip install pyinstaller로 설치하시면 됩니다.
아래는 윈도 command창에서 실행한 예제입니다.



- (pip를 사용하지 않는) 설치방법
아래 주소로 들어가서 Source code 압축파일을 다운받습니다.
https://github.com/pyinstaller/pyinstaller/releases

 



그 후에, 압축을 풀어 해당 경로에서 python setup.py install 이라고 치시면 됩니다.
아래는 윈도 command창에서 실행한 스크린샷입니다.



간혹가다가 아래와 같이 error가 발생하는 경우가 있는데요,
설명대로 커맨드창에서 pip install [패키지명] 을 입력하여 필요한 패키지들을 설치하거나,
각 패키지를 수동으로 설치해 줍니다.

Error: Building wheels requires the 'wheel' package. Please `pip install wheel` then try again.

각 패키지는 https://pypi.org/ 에서 관리가 되며, 검색을 통해서 파이썬 각 패키지에 대한 주소 등을 확인할 수 있습니다.
 

pyinstaller 사용방법


pyinstaller를 위와 같이 설치를 하셨으면, exe로 만들 파이썬 파일 경로로 이동한 후,

pyinstaller [exe로 만들 파이썬파일] 과 같이 사용하면 됩니다.
아래는 실행예제입니다.



예제와 같이 사용하면 아래와 같이 dist 폴더에 아래와 같이 exe파일이 생성됩니다.
 

 

pyinstaller의 단점


exe파일로 만들면 각종 라이브러리를 모두 가지고 있는 상태라 용량이 커지게 되는 단점이 있습니다.
옵션을 통해 파일 하나로 만들수도 있지만, 실행시키면 어딘가 안보이는곳에 라이브러리 압축을 풀고 실행하는 방식입니다.

print(1) 만 하는 예제인데도 불구하고 아래와 같이 많은 파일이 생성되었고, 많은 용량을 차지하는것을 알 수 있습니다.




총평


개인적으로 exe파일을 만들면 각종 라이브러리를 포함하느라 파일도 많아지고 용량을 많이 차지하게 되는 단점이 생각보다 크다고 생각합니다.
프로그래머가 python만 사용할 수 있는 프로그래머가 아니라면 다른 언어로 exe파일을 만드는것이 더 낫다고 생각합니다.
윈도에서는 보통 C#을 이용해서 만들었었는데, 최근에는 electron을 이용해서 웹 프로그래밍 언어로 손쉽게 exe파일로도 만들 수 있습니다.
최근에 만들어지는 대부분의 프로그램들은 웹으로 만들어지고 있는 추세이기에 PC자원을 꼭 사용해야하는 경우가 아니라면
배우기도 쉽고 참고 자료도 많은 웹프로그램을 만드는것도 추천을 할 수 있겠습니다.

 

#python,#pyinstaller,#exe,#elf,#파이썬,#파이인스톨러,#파이,#인스톨러,#installer,#실행파일

 

https://devscb.com/post/99

 

[Python] Making py file into exe, making python exe file, pyinstaller, making Python executable file

[Python] Create py file as exe, create python exe file, pyinstaller Disadvantages of py files and advantages of exe filesWhen you code in Python, a *.py file is created, but if you try to distribute

devscb.com

 

728x90
반응형

댓글