Pyinstaller Introduce
Pyinstaller는 .py 파일 확장자를 .exe 실행파일 확장자로 변경해주는 파이썬 패키지입니다.
PyQt를 이용해 만든 GUI 프로그램을 실행파일로 만들 때 매우 유용한 패키지이기도 합니다.
Pyinstaller 공식 사이트: https://www.pyinstaller.org
Pyinstaller 설치
1 2 3 |
pip install pyinstaller |
Window 10 사용자라면 “Windows PowerShell”에서 위 명령어를 실행해줍니다.
Pyinstaller 사용
자신이 .exe 실행 파일로 만들고 싶은 .py가 있는 디렉토리로 이동해서 Shift + 마우스 오른쪽을 누른 후 “여기에 PowerShell 창 열기”를 눌러줍니다.
1 2 3 |
pyinstaller 파이썬_파일_이름.py |
위 명령어를 이용하면 .py 파일을 .exe 파일로 변환할 수 있습니다.
위와 같이 마지막에 completed successfully 로그가 출력되면 정상적으로 이뤄진 것이며 .exe로 변환하려고 했던 .py 파일 디렉토리에 “dist” 디렉토리에 .exe 파일과 .py에 import 된 라이브러리가 들어있습니다.
콘솔창 안 뜨게 하기
exe 파일 실행 시 콘솔창이 뜨게 되는데 안 뜨게 하고 싶으시면 아래 명령어를 이용해서 .py 파일을 다시 .exe 파일로 변환해줘야 합니다.
1 2 3 |
pyinstaller --noconsole 파이썬_파일_이름.py |
exe 파일에 모든 라이브러리 압축하기
1 2 3 |
pyinstaller --onefile --noconsole 파이썬_파일_이름.py |
만약 import 된 라이브러리를 따로 생성하지 않고 exe 파일 안에 다 넣고 싶은 경우 위 명령어를 이용해서 변환해주시면 됩니다.
Share
잘읽고갑니다^~^
조금이라도 도움이 되셨으면 합니다 ^^
파워쉘로 pip하면 되는데 pip 설치 하느라 고생했었는데 감사해요!!!
넵 ~
혹시 exe화된거 py로 다시 변환할 수 없나요?
https://sourceforge.net/projects/pyinstallerextractor/ decompiler 입니다.
exe로 바꾸고나서 APPCRASH가 뜨는데ㅠㅠ
소스에서 다른 파일을 경로를 통해 로드하고 있는 경우 exe 파일이 실행되는 경로를 기준으로 파일을 로드하기 때문에 crash가 날 수도 있습니다.
안녕하세요 ㅠㅠㅠ 파일변환 후 누르면 실행이 안되고 바로 꺼지는데 왜 그런지 알 수 있을까요…
감사합니다 import한 모듈은 어떻게 처리되나 궁금했는데 덕분에 알아갑니다!
PIP가 뭔가요?
python의 여러가지 패키지, 라이브러리들을 설치하는 도구입니다.
실행파일로 만들었더니 바이러스라고 하면서 바로 삭제가 되는데 해결 방법 있을가요?
pyinstaller 파이썬_파일_이름.py 을하면 importError가 뜨고 cannot import name ‘policy’ from ’email 문구가 뜨는데 뭐가 문제일가요 ㅠㅠ
파워셀에서 pip인스톨러 명령어를 실행하니 PS C:\Users\신재완\Documents\PythonWorkspace> pip install pyinstaller Collecting pyinstaller Using cached pyinstaller-4.0.tar.gz (3.5 MB) Installing build dependencies … done Getting requirements to build wheel … done Preparing wheel metadata … error ERROR: Command errored out with exit status 1: command: ‘c:\users\신재완\appdata\local\programs\python\python38-32\python.exe’ ‘c:\users\신재완\appdata\local\programs\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py’ prepare_metadata_for_build_wheel ‘C:\Users\신재완\AppData\Local\Temp\tmp22g69pz7’ cwd: C:\Users\신재완\AppData\Local\Temp\pip-install-jabwwox9\pyinstaller Complete output (38 lines): running dist_info creating C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info writing C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\PKG-INFO writing dependency_links to C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\dependency_links.txt writing entry points to C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\entry_points.txt writing requirements to C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\requires.txt writing top-level names to C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\top_level.txt writing manifest file ‘C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\SOURCES.txt’ reading manifest file ‘C:\Users\신재완\AppData\Local\Temp\pip-modern-metadata-2bp9_8h1\pyinstaller.egg-info\SOURCES.txt’ reading manifest template ‘MANIFEST.in’ Error in sitecustomize; set PYTHONVERBOSE for traceback: SyntaxError: (unicode error) ‘utf-8’ codec… Read more »
많은 도움이 되었습니다 ^^
감사합니다. 아주 잘 되네요.
안돼는대요?
이제 스토어에 헤브크래프트 올려야지
?
?
안녕하세요 찾던정보라 너무 도움이되었습니다~ ^^
질문이있습니다~
exe파일만든후 사용하다가 해당 .py파일을 수정하거나 업데이트 하게되는경우
다시 새로 exe파일을 지우고 만들어야되나요??
아니면 손쉽게 업데이트하는 방법이 있을까요??
감사합니다~~
아니 cmd로 pyinstaller 하고 파일이름 쳤는데
pyinstaller라는 명령어가 없다고 하는데요?
pip install pyinstaller 치고 설치까지 했는데..
pip install pyinstaller 라는데요;;