난다! 에러! 백퍼!
1. PATH 추가
python을 설치하고 사용할줄 아는 사람이라면 환경변수에서 PATH 잡는건 잘 알꺼라 믿고 설명은 생략하겠다.
PATH에 C:\Python35\Lib\site-packages\PyQt5 (이건 내 절대 경로고 각자 자기한테 맞는 경로를 쓸것!) 추가
pip permision err[13] 뜨면 pip 업그레이드 하고 관리자권한으로 cmd 키면 잘 됨..! (아나콘다 쓰는 경우는 잘 모르겠다.)
2. -h, --help
일단 무작정 pyinstaller *.py 치고 보지말고 pyinstaller -h 로 도움말 봐라!
나름 잘 설명되어있다. 어떤 옵션이 있는지 체크하고 문법(?)에 맞게 써라..!
3. -p DIR, --paths DIR
win10 이라면 WARNING: lib not found: api-ms-win-core-*.dll 뜨면서 실행파일 잘 만들어진다.
근데 그 실행 파일 python 안깔린 컴에서 실행시키거나 암튼 딴데서 실행하면 에러남 ㅎ
저기에 있는데로 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64 나
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64에 있는 dll 파일 싹 긁어서 한 파일에 넣고
-p [dll 때려 넣은 파일 경로] 옵션을 준다! (1번에서 언급한 help에서 잘 보면 어떻게 쓰는지 잘 나와있다.)
참고 : https://winterj.me/pyinstaller/
4. --hidden-import MODULENAME
dll 추가해주고 막 신나서 경고 하나도 안뜨고 막 실행파일 잘 만들어지고 그래서 막 실행하면
ModuleNotFoundError: No module named 'PyQt5.sip' 오류 뜸 ㅎ 아니 PyQt5 깔때 같이 깔려놓고 왜 못찾냐..
얘는 --hidden-import 옵션 써서 sip 있다고 콕 찍어 알려주면 됨
참고 : https://stackoverflow.com/questions/51330113/pyinstaller-pyqt5-installed-with-pip-always-gives-me-error-import-pyqt5-sip
5. -F, --onefile
실행 파일 한개로 깔쌈하게 만들때 쓰면 좋음
6. -D, --onedir
한폴더로 만들어줌
<<내 최종 명령어>>
C:\pyinstaller_test : 3번에서 dll 모아둔 파일 경로
C:\Python35\PythonWorkspace\Python_examples\sample_code.py : 실행 파일 만들 코드 경로
pyinstaller --onedir --clean --hidden-import=PyQt5.sip -p C:\pyinstaller_test C:\Python35\PythonWorkspace\Python_examples\sample_code.py
ps.
삽질 꽤 했는데 왜 적어놓으니까 몇개 없어 보이는지 모르겠다.
이거 보고 가상 환경 만들라다가 짜증나서 실패함 나중에 가상환경에서 PyQt5 패스 설정 문제 해결가능하면 시도해봐야겠다.
https://github.com/pyinstaller/pyinstaller/wiki/How-to-Report-Bugs#make-sure-everything-is-packaged-correctly
'Language > Python' 카테고리의 다른 글
Pypika where절에 동적으로 or 조건 추가하기 (0) | 2019.10.17 |
---|---|
셀레니움 - 크롬 드라이버 버전 오류 (0) | 2019.09.03 |