#pyinstaller => collect_data_files - skipping data collection for module 'module' as it is not a package.

Code Genie·2024년 11월 2일

collect_all을 이용해서 cython으로 컴파일한 파일을 pyinstaller을 이용해서 exe빌드 할 때

data1, binaries1, hiddenimports1 = collect_all('App')
이 코드에서 아래와 같은 에러가 발생 한다면

collect_data_files - skipping data collection for module 'module' as it is not a package

win + s => 시스템 환경 변수 편집에서

시스템 변수의 PYTHONPATH 에 Pyinstaller로 빌드하는 프로젝트 루트 디렉토리를 등록하자.

PYTHONPATH와 PATH 차이

  • PATH: exe파일은 어떤 경로에서 실행을 가능하게 한다.
  • PYTHONPATH: exe파일 실행과는 관련이 없고 python의 모듈 import와 관련이 있다. pip로 설치한 모듈들이 자세한 경로 필요없이

from PyInstaller.building.build_main import Analysis, PYZ, EXE, COLLECT

import가 가능한 이유는 PYTHONPATH와 관련이 있다.

print(sys.path) 이 코드로 환경변수에서 확인되지 않는 PYTHONPATH를
확인할수 있다

  • 윈도우 환경변수가 반영되는 조건

vscode의 경우 : 모든 vscode를 종료하고 vscode 새로 시작. 하나라도 종료하지 않으면 반영되지 않는다.

터미널 : 터미널도 재시작 하면 반영 된다.

최후 수단은 재부팅.

profile
1인 개발

0개의 댓글