[Python] Pyinstaller Mediapipe 컴파일 에러 해결

2024. 7. 16. 14:49· 개발/Python
728x90
반응형

현장실습에서 맡은 업무로 멀티모달 인터페이스 애플리케이션 제작이 있는데, 손을 인식하는 과정에서 mediapipe이 사용된다. 

 

GUI로 동작하는 .exe 파일이 최종 결과물이기 때문에 작성한 코드를 pyinstaller로 빌드했는데, 계속해서 다음과 같은 에러가 표시되었다.

 

 

Unhandled exception in script
Failed to execute script 'pyi_rth_mplconfig' due to unhandled exception: DLL load failed while importing _ctypes: 지정된 모듈을 찾을 수 없습니다.

 

구글링을 해보니 흔히 있는 에러는 아니고, 유독 mediapipe 라이브러리를 사용한 애플리케이션을 빌드할 때 많이 발생하는 것 같았다. 이거 때문에 열린 issue도 있었음.

 

Error while compiling python project with pyinstaller · Issue #2162 · google-ai-edge/mediapipe

I have issues compilling a project with mediapipe python on mac, it's using selfie augmentation's solution. I tried to compile an .app from a .py file using pyinstaller. so far I tried pyinstaller ...

github.com

 

 

내가 해결한 방법은 다음과 같다.

 

먼저, 빌드할 코드에서 사용하고 있는 mediapipe 라이브러리 위치를 찾는다.

$ python

>>> import mediapipe
>>> print(mediapipe.__file__)

나는 가상환경을 쓰다보니 .venv 폴더 안에 들어있었다.

C:\Users\Admin\Desktop\gui\.venv\Lib\site-packages\mediapipe\__init__.py

 

위치를 찾으면, pyinstaller 실행시 파라미터로 위치를 넘겨주면 된다.

만약 빌드할 파일이 main.py 라면,

pyinstaller --add-data "C:\Users\Admin\Desktop\gui\.venv\Lib\site-packages\mediapipe;mediapipe/" main.py

여기에 나는 결과로 .exe 파일 하나로 만들기 원했기 때문에 --onefile 옵션을 달아준다. GUI 프로그램이기 때문에 --windowed도 추가

pyinstaller --onefile --windowed --add-data "C:\Users\Admin\Desktop\gui\.venv\Lib\site-packages\mediapipe;mediapipe/" main.py

 

이렇게 빌드하면 마침내 에러가 없는 프로그램이 생성된다!

728x90
반응형
저작자표시 (새창열림)

'개발 > Python' 카테고리의 다른 글

[Python/GUI] PySide GUI에서 로딩 GIF 이미지 표시하기  (0) 2024.08.09
[Python/ML] 인터넷, API 요청 없이 실시간 음성 인식 구현하기(오프라인 실시간 음성 인식) (작성중)  (1) 2024.08.08
[Python/ML] MediaPipe를 이용한 손가락 인식  (0) 2024.07.17
'개발/Python' 카테고리의 다른 글
  • [Python/GUI] PySide GUI에서 로딩 GIF 이미지 표시하기
  • [Python/ML] 인터넷, API 요청 없이 실시간 음성 인식 구현하기(오프라인 실시간 음성 인식) (작성중)
  • [Python/ML] MediaPipe를 이용한 손가락 인식
kmicety1
kmicety1
조금씩 지식을 쌓는 중입니다.
켜켜이 쌓이다조금씩 지식을 쌓는 중입니다.
kmicety1
켜켜이 쌓이다
kmicety1
전체
오늘
어제
11-07 14:47
  • 컴퓨터 (72)
    • 42서울 (7)
    • 말랑말랑 (32)
      • Robozzle (32)
    • 백준 (3)
      • 문자열 (0)
      • BFS, DFS (0)
      • DP (0)
    • CS 지식 (13)
      • C, C++ (11)
      • 네트워크 (1)
      • 클라우드 (0)
      • 보안 (1)
    • 개발 (14)
      • Cloud (4)
      • Spring (5)
      • Python (4)
    • 일상 (3)
    • 대외활동 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
kmicety1
[Python] Pyinstaller Mediapipe 컴파일 에러 해결
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.