Python 스 크 립 트 를 실행 가능 한 파일 프로 세 스 로 압축
.py 파일:원본 프로젝트 나 원본 코드 에 그다지 중요 하지 않 습 니 다.원본 코드 를 직접 제공 하려 면 사용자 가 직접 Python 을 설치 하고 의존 하 는 각종 라 이브 러 리 를 설치 해 야 합 니 다.(파 이 썬 공식 적 인 각종 설치 패 키 지 는 이렇게 한다)
.pyc 파일:일부 회사 나 개인 은 기밀 이나 여러 가지 이유 로 소스 코드 가 운영 자 에 게 보 이 는 것 을 원 하지 않 습 니 다.pyc 파일 로 발표 할 수 있 습 니 다.pyc 파일 은 Python 해석 기 가 식별 할 수 있 는 바 이 너 리 코드 이기 때문에 발표 후에 도 크로스 플랫폼 입 니 다.사용자 가 해당 판 의 Python 과 의존 라 이브 러 리 를 설치 해 야 합 니 다.
실행 가능 한 파일:비 코드 농업 사용자 나 일부 화이트 사용자 에 게 Python 을 설치 하 는 동시에 의존 라 이브 러 리 를 괴 롭 히 는 것 은 재앙 입 니 다.이러한 사용자 에 게 가장 간단 한 방법 은 실행 가능 한 파일 을 제공 하 는 것 입 니 다.사용 방법 을 Ta 에 게 만 알려 주면 됩 니 다.비교적 번 거 로 운 것 은 서로 다른 플랫폼 에 대해 서로 다른 실행 가능 한 파일(Windows,Linux,Mac,...)을 포장 해 야 한 다 는 것 이다.
본 고 는 주로 마지막 방식 을 소개 하 는 것 이다.py 와 pyc 는 모두 비교적 간단 하고 Python 자체 가 해결 할 수 있다.Python 스 크 립 트 를 실행 가능 한 파일 로 포장 하 는 데 는 여러 가지 방법 이 있 습 니 다.본 고 는 PyInstaller 를 중점적으로 소개 하고 다른 것 은 비교 와 참고 만 합 니 다.
Freezing Your Code
각종 포장 도구 의 대 비 는 다음 과 같다.
PS.그 중 pyInstaller 와 cxFreeze 는 다 좋 은 데,stackoverflow 에서 도 cx 를 사용 하 라 는 의견 이 있 습 니 다.Freeze,더 편리 하 다 고 합 니 다.pkg_resources 새 pyInstaller 는 지원 하 는 것 같 습 니 다.
PyInstaller 설치
네트워크 가 안정 적 이 고 pip 소스 주 소 를 유창 하 게 사용 할 수 있 는 사용자 에 게 아래 명령 을 직접 내리 면 됩 니 다.
pip install pyinstaller
일반적으로 우 리 는 원본 패 키 지 를 다운로드 한 후에 패 키 지 디 렉 터 리 에 들 어가 다음 명령 을 실행 합 니 다(setuptools 를 설치 해 야 합 니 다).
python setup.py install
설치 완료 후 설치 성공 여 부 를 확인 합 니 다.
pyinstaller --version
설치 에 성공 하면 아래 명령 을 사용 할 수 있 습 니 다:
PyInstaller 사용 하기
pyinstaller 의 문법:
pyinstaller [options] script [script ...] | specfile
가장 간단 한 용법 은 my script.py 와 같은 디 렉 터 리 에서 명령 을 수행 합 니 다.
pyinstaller mycript.py
그 다음 에 두 개의 디 렉 터 리 build 와 dist 가 새로 추 가 된 것 을 볼 수 있 습 니 다.dist 아래 의 파일 은 발표 할 수 있 는 실행 가능 한 파일 입 니 다.위의 명령 에 대해 dist 디 렉 터 리 아래 에 파일 이 한 무더기 있 고 각종 동적 라 이브 러 리 파일 과 my scrip 실행 가능 한 파일 이 있 습 니 다.가끔 은 이렇게 귀 찮 을 때 가 있 습 니 다.dist 아래 의 모든 것 을 포장 해 야 발표 할 수 있 습 니 다.만약 에 동적 라 이브 러 리 를 잃 어 버 리 면 실행 할 수 없습니다.다행히 pyInstaller 는 단일 파일 모드 를 지원 합 니 다.실행 만 하면 됩 니 다.
pyinstaller -F mycript.py
dist 아래 에 실행 가능 한 파일 이 하나 밖 에 없 는 것 을 발견 할 수 있 습 니 다.이 파일 은 발표 할 수 있 습 니 다.사용 하고 있 는 운영 체제 와 유사 한 시스템 아래 에서 실행 할 수 있 습 니 다.
물론 pyinstaller 에는 여러 가지 옵션 이 있 습 니 다.예 를 들 어-d 옵션 은 debug 에 사용 되 고 pyInstaller 가 실행 하 는 과정 을 알 수 있 습 니 다.
pyInstaller 명령 을 실행 할 때 스 크 립 트 와 같은 디 렉 터 리 에서.spec 파일 을 생 성 합 니 다.이 파일 은 pyinstaller 가 모든 스 크 립 트 를 어떻게 처리 하 는 지 알려 주 고 명령 옵션 도 포함 합 니 다.일반적으로 우 리 는 이 파일 을 신경 쓰 지 않 아 도 됩 니 다.데이터 파일 을 포장 하거나 파 이 썬 이 실 행 될 때 옵션 을 추가 할 때...고급 포장 옵션 이 있 을 때.spec 파일 을 수 동 으로 편집 해 야 합 니 다.사용 가능:
pyi-makespec options script [script ...]
.spec 파일 을 만 듭 니 다.수 동 으로 편집 한.spec 파일 에 대해 서 는 다음 명령 을 사용 할 수 있 습 니 다.
pyinstaller specfile pyi-build specfile
PyInstaller 의 원리 소개
PyInstaller 는 사실 python 해상도 기와 자신의 스 크 립 트 를 실행 가능 한 파일 로 포장 하 는 것 입 니 다.실제 기계 코드 로 컴 파일 하 는 것 과 는 전혀 다 릅 니 다.따라서 실행 가능 한 파일 로 포장 하 는 것 이 운행 효율 을 높 일 것 이 라 고 기대 하지 마 세 요.반대로 운행 효율 을 낮 출 수 있 습 니 다.좋 은 점 은 운영 자의 기계 에 python 과 스 크 립 트 가 의존 하 는 라 이브 러 리 를 설치 하지 않 아 도 된다 는 것 이다.Linux 운영 체제 에서 주로 사용 되 는 binutil 공구 꾸러미 의 Id 와 objdump 명령 입 니 다.
PyInstaller 는 지정 한 스 크 립 트 를 입력 합 니 다.먼저 스 크 립 트 가 의존 하 는 다른 스 크 립 트 를 분석 한 다음 에 찾 고 복사 하 며 관련 스 크 립 트 를 수집 합 니 다.Python 해상도 기 를 포함 하여 이 파일 들 을 한 디 렉 터 리 에 두 거나 실행 가능 한 텍스트 에 포장 합 니 다.
출력 된 전체 폴 더 의 파일 을 직접 발표 하거나 실행 가능 한 파일 을 만 들 수 있 습 니 다.사용자 에 게 애플 리 케 이 션 은 자신 이 포함 하고 있 으 며 다른 가방 이나 어떤 버 전의 Python 을 설치 하지 않 아 도 직접 실행 할 수 있다 는 것 을 알려 주기 만 하면 됩 니 다.
주의해 야 할 것 은 PyInstaller 가 포장 한 실행 파일 은 포장 기계 시스템 과 같은 환경 에서 만 가능 합 니 다.이식 성 이 없 으 며 시스템 별로 운영 해 야 할 경우 이 플랫폼 을 대상 으로 포장 해 야 한 다 는 것 이다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.