python 은 Pyinstaller 를 이용 하여 웹 프로젝트 를 포장 합 니 다.

최근 에는 python 으로 단일 페이지 페이지 데모 를 포장 해 야 하기 때문에 python 패키지 pyinstaller 로 프로그램 을 포장 하려 고 합 니 다.인터넷 에서 검색 해 보 니 대부분의 튜 토리 얼 은 비 웹 프로젝트 를 포장 하 는 것 으로 간단 한 웹 페이지 demo 를 포장 하 는 과정 을 공유 했다.
시스템 환경:win 10+python 3.6
1.pyinstaller 설치

pip install pyinstaller
2.포장 항목
1.단일 파일 항목 이 라면 pyinstaller 는 간단 한 명령 을 통 해 python 코드 를 포장 할 수 있 습 니 다.명령 은:

pyinstaller -option ***.py
1.1 매개 변수 option 은 여러 개의 값 을 가 질 수 있 습 니 다.
-F:압축 을 지정 한 후 exe 형식의 파일 만 생 성 합 니 다.
-D:실행 가능 한 파일 과 관련 된 동적 링크 라 이브 러 리,자원 파일 등 을 포함 하 는 파일 디 렉 터 리 생 성(기본 옵션)
-c:Cconsole,Cnowindowd 는 콘 솔 을 사용 하고 인터페이스 가 없습니다(기본 옵션)
-w:Cwindowed,Cnoconsole 사용 창,콘 솔 없 음
1.2 주의
① 명령 매개 변 수 를 하나 더 추가 합 니 다.-w 클릭 하여 생 성 된 exe 파일 이 검은색 콘 솔 창 이 뜨 지 않도록 합 니 다.
    ②-F 인 자 를 추가 하지 않 으 면 파일 이 생 성 되 지만 운행 속도 가 빠르다. -F 매개 변 수 를 추가 하여 exe 파일 을 만 들 고 실행 이 느 립 니 다.
2.단일 파일 항목 이 아 닌 다단 계 디 렉 터 리(의존 하 는 정적 자원 포함)가 있다 면 사용자 정의 패키지 가 필요 합 니 다.
본 고 는 자신의 단일 페이지 웹 페이지 demo 를 포장 하 는 것 을 예 로 들 면 각급 디 렉 터 리 구 조 는 다음 과 같다.


2.1 사용자 정의 설정 패 키 지 를 위해 설정 파일.spec 파일 을 출력 하고 명령 을 실행 해 야 합 니 다.

pyi-makespec -D -w main.py
주:
-w 인 자 는 검은색 콘 솔 창 이 생기 지 않도록 하기 위해 서 입 니 다.
-D 매개 변 수 는 실행 가능 한 파일 과 관련 동적 링크 라 이브 러 리,자원 파일 등 을 포함 하 는 파일 디 렉 터 리 를 생 성 합 니 다.(기본 옵션 은 추가 하지 않 아 도 됩 니 다)
생 성 된 main.spec 파일 은 다음 과 같 습 니 다.

2.2 포장 생 성 된 exe 파일 을 css,js,그림 등 정적 자원 을 불 러 올 수 있 도록 의존 경 로 를 추가 해 야 합 니 다(주의:html 에 정적 자원 을 불 러 오 는 경로 가 상대 적 인 경로 임 을 확인 해 야 합 니 다).구체 적 으로 보면 이러한 자원 파일 의 포장 은 Analysis 의 datas 를 설정 해 야 합 니 다.다음 과 같 습 니 다.

2.3 포장 명령 실행:

pyinstaller main.spec
성공!
최종 결과:


 3.일부 잘못 보고
① 포장 명령 을 실행 할 때 오류 보고:재 귀 오류:최대 재 귀 깊이 초과
원인:python 라 이브 러 리 의 재 귀적 깊이 가 너무 깊 어서 python 이 미리 설정 한 재 귀적 깊이 를 초과 하여'Recursion Error:maximum recursion depth exceeded'의 오류 가 발생 한 것 같 습 니 다.
해결 방법:spec 파일 에 큰 재 귀 깊이 를 설정 하고 이 파일 의 두 번 째 줄 에 코드 를 다음 과 같이 추가 합 니 다.

import sys
sys.setrecursionlimit(50000)
② python 이 pywebview 를 포장 할 때 오류 가 발생 할 수 있 습 니 다:WebBrowserInterop.x64.dll 을 찾 을 수 없습니다.
원인:시스템 에서 WebBrowserInterop.x64.dll 을 찾 지 못 했 기 때 문 입 니 다.
해결 방법:WebBrowserInterop.x64.dll 파일 의 소재 경 로 를 시스템 환경 변수 에 추가 하면 됩 니 다!
WebBrowserInterop.x64.dll 파일 이 있 는 경로:

시스템 환경 변수 에 추가:

4.주의사항
① 생 성 된 exe 파일 의 더 블 클릭 이 제대로 작 동 하지 않 고 오류 알림 도 없 을 경우 구체 적 인 오류 메 시 지 를 보 려 면 더 블 클릭 으로 실행 하지 말고 콘 솔 에서 실행 합 니 다.이렇게 해도 오류 메 시 지 를 볼 수 없다 면 소프트웨어 를 포장 할 때-w 인 자 를 사용 하지 마 십시오.이렇게 하면 생 성 된 exe 를 실행 할 때 검은색 콘 솔 창 이 뜨 고 검은색 콘 솔 에서 오류 메 시 지 를 볼 수 있 습 니 다.
② 포장 부 피 를 줄 이려 면 conda 를 사용 하여 python 가상 환경 을 만 들 고 필요 한 가방 만 설치 한 다음 에 포장 하면 부피 가 크게 줄어든다.
이상 은 python 이 Pyinstaller 를 이용 하여 웹 프로젝트 를 포장 하 는 상세 한 내용 입 니 다.python 포장 프로젝트 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기