pyinstaller 사용 시 torch와 관련된 lib not found 경고를 해결하고 싶습니다.

  1. 문제
    pyinstaller를 사용해 파이썬 스크립트를 exe 프로그램으로 만들고 싶은데 torch 관련 lib를 찾지 못해 문제가 되는 것 같습니다.

사용환경
anaconda

PyInstaller: 4.8
Python: 3.8.15 (conda)
Platform: Windows-10-10.0.19044-SP0
Pytorch : 1.13 cpu only 버전
torchaudio : 0.13.0

그 밖에 사용 모듈
vtk, simpleITK, numpy, glob

에러 발생 과정

  1. pyinstaller ~~~.py
  2. pyinstaller ~~~.spec에서 에러 로그
    25556 INFO: Looking for dynamic libraries
    26602 WARNING: lib not found: torch_python.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torch_C_flatbuffer.cp38-win_amd64.pyd
    26614 WARNING: lib not found: torch_python.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torch_C.cp38-win_amd64.pyd
    26631 WARNING: lib not found: avutil-56.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26634 WARNING: lib not found: avformat-58.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26636 WARNING: lib not found: torch_python.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26642 WARNING: lib not found: torch_cpu.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26644 WARNING: lib not found: c10.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26649 WARNING: lib not found: libtorchaudio_ffmpeg.pyd dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio_ffmpeg.pyd
    26660 WARNING: lib not found: torch_cpu.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio.pyd
    26663 WARNING: lib not found: c10.dll dependency of C:\Users\ADmin\anaconda3\envs\dental_cpu\lib\site-packages\torchaudio_torchaudio.pyd

위와 같이 lib not found라고 나오네요ㅠ

빌드 된 .exe 파일 실행 시 log
D:\user\TestCode\pythonProject\dist\preprocessing>preprocessing.exe
Traceback (most recent call last):
File “preprocessing.py”, line 8, in
File “PyInstaller\loader\pyimod03_importers.py”, line 495, in exec_module
File “torch_init_.py”, line 192, in
ImportError: DLL load failed while importing _C: 지정된 모듈을 찾을 수 없습니다.
[13136] Failed to execute script ‘preprocessing’ due to unhandled exception!

4.가상환경 새로 만들어서 torch와 다른 모듈들을 새로 설치해봤지만 같은 error가 발생합니다.

그 밖에…
관련있을지 모르겠습니다만, c10.dll, torch_cpu.dll 등 이름이 익숙하여 생각해보니 이전에 libtorch 설치하여 c++ 환경에서 visual studio로 torchscript 도전했던 적이 있는데 이 때 꼬일 수 있는지도 궁금합니다.

관련되어 알고 계신 부분 있다면 부탁드리겠습니다.
감사합니다.

관련해서 저도 정확히는 모르지만 아래 링크 내용이 도움이 되실수 있을지 모르겠네요;

답변주셔서 감사합니다.
하지만 code에 Pyqt5를 사용하지 않았고 pynput도 사용하지 않았어서 pynput 버전 문제랑은 조금 다를 것 같습니다.ㅠㅠ

그래도 pytorch도 버전이랑 연관 있을 수도 있으니 새 가상환경에서 pytorch 버전을 다운 그레이드 후 도전해보겠습니다. 감사합니다.

이 글은 마지막 댓글이 달린지 오래(30일)되어 자동으로 닫혔습니다. 댓글 대신 새로운 글을 작성해주세요! :slight_smile: