Python Language
PyInstaller - 파이썬 코드 배포하기
수색…
통사론
- pyinstaller [options] 스크립트 [script ...] | specfile
비고
PyInstaller는 모든 의존성과 함께 하나의 패키지에 파이썬 응용 프로그램을 묶는 데 사용되는 모듈입니다. 사용자는 Python 인터프리터 또는 모듈없이 패키지 앱을 실행할 수 있습니다. numpy, Django, OpenCv 등의 주요 패키지를 올바르게 묶습니다.
기억해야 할 몇 가지 중요한 사항 :
- Pyinstaller는 Python 2.7 및 Python 3.3 이상을 지원합니다.
- Pyinstaller는 Windows, Linux 및 Mac OS X에 대해 테스트되었습니다.
- 크로스 컴파일러가 아닙니다 . (Windows 응용 프로그램은 Linux에서 패키지화 할 수 없습니다. Windows 용 PyInstaller를 실행하여 Windows 용 응용 프로그램을 번들로 제공해야합니다.)
설치 및 설정
Pyinstaller는 일반적인 Python 패키지입니다. 그것은 pip를 사용하여 설치할 수 있습니다 :
pip install pyinstaller
Windows에서 설치
Windows의 경우 pywin32 또는 pypiwin32 가 전제 조건입니다. 후자는 pyinstaller가 pip를 사용하여 설치 될 때 자동으로 설치됩니다.
Mac OS X에서 설치
PyInstaller는 현재 Mac OS X에서 제공되는 기본 Python 2.7에서 작동합니다. Python의 이후 버전이 사용되거나 PyQT, Numpy, Matplotlib 등과 같은 주요 패키지가 사용되는 경우에는 다음을 사용하여 설치하는 것이 좋습니다. MacPorts 또는 Homebrew 중 하나입니다.
아카이브에서 설치하기
pip를 사용할 수 없다면 PyPI 에서 압축 된 아카이브를 다운로드하십시오.
개발 버전을 테스트하려면 PyInstaller Downloads 페이지의 개발 분기에서 압축 된 아카이브를 다운로드 하십시오.
아카이브를 확장하고 setup.py
스크립트를 찾으십시오. PyInstaller를 설치하거나 업그레이드 python setup.py install
with administrator 권한을 실행하십시오.
설치 확인
pyinstaller
명령은 성공적인 설치 후 모든 플랫폼의 시스템 경로에 존재해야합니다.
명령 행에 pyinstaller --version
을 입력하여이를 검증하십시오. 그러면 pyinstaller의 현재 버전이 인쇄됩니다.
Pyinstaller 사용하기
가장 간단한 유스 케이스에서는 파일이있는 디렉토리로 이동하고 다음을 입력한다.
pyinstaller myfile.py
Pyinstaller는 파일을 분석하여 다음을 생성합니다.
- 같은 디렉토리에있는 myfile.spec 파일
myfile.py
-
myfile.py
와 같은 디렉토리에있는 빌드 폴더 -
myfile.py
와 같은 디렉토리에있는 dist 폴더 - 빌드 폴더에 파일 로깅
번들 된 앱은 dist 폴더에 있습니다.
옵션
pyinstaller와 함께 사용할 수있는 몇 가지 옵션이 있습니다. 옵션의 전체 목록은 여기 에서 찾을 수 있습니다 .
번들로 제공되면 'dist \ myfile \ myfile.exe'를 열어 앱을 실행할 수 있습니다.
하나의 폴더에 번들링
PyInstaller를 myscript.py
를 묶는 옵션없이 사용하면 기본 출력은 필요한 모든 종속 항목과 함께 myscript
( myscript.exe
in windows)라는 실행 파일을 포함하는 단일 폴더 ( myscript
)입니다.
응용 프로그램은 zip 파일로 폴더를 압축하여 배포 할 수 있습니다.
하나의 폴더 모드는 -D
또는 --onedir
옵션을 사용하여 명시 적으로 설정할 수 있습니다
pyinstaller myscript.py -D
장점 :
단일 폴더에 번들링 할 때의 주요 이점 중 하나는 문제를 디버그하는 것이 더 쉽다는 것입니다. 모듈을 가져 오지 못하면 폴더를 검사하여 모듈을 확인할 수 있습니다.
업데이트 중 또 다른 장점이 있습니다. 코드에 몇 가지 변경 사항이 있지만 사용되는 종속성이 정확히 동일하면 배포자는 일반적으로 전체 폴더보다 작은 실행 파일을 제공 할 수 있습니다.
단점
이 방법의 유일한 단점은 사용자가 많은 수의 파일 중에서 실행 파일을 검색해야한다는 것입니다.
또한 사용자는 앱이 제대로 작동하지 않을 수있는 다른 파일을 삭제하거나 수정할 수 있습니다.
단일 파일로 묶기
pyinstaller myscript.py -F
단일 파일을 생성하는 옵션은 -F
또는 --onefile
입니다. 이 프로그램은 단일 myscript.exe
파일로 프로그램을 묶습니다.
단일 파일 실행 파일은 단일 폴더 번들보다 느립니다. 또한 디버그하기가 더 어렵습니다.