"ImportError: DLL load failed: %1은(는) 올바른 Win32 응용 프로그램이 아닙니다" 오류 해결 방법

 『파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)』를 따라서 프로젝트를 진행하던 중 또 다른 에러를 만나서 고생했다. 메시지부터 지난 에러와 마찬가지로 32bit와 관련된 에러같은 느낌이 든다.

 

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  
from PyQt5.QtWidgets import *
ImportError: DLL load failed: %1은(는) 올바른 Win32 응용 프로그램이 아닙니다.

 

 문제는 기존에 분명 잘 돌아가던 코드에서 갑자기 이 에러가 난다는 것이었다. 에러메시지를 구글링 해보면, 결국 해당 패키지를 python과 호환되는 32bit or 64bit로 잘 설치했는지를 확인하라는 결론으로 이어진다. 분명 지난 주까지 진행했던 부분까지는 이상이 없었는데, 추가적으로 다른 패키지들을 설치하면서 충돌이 난 것으로 추정된다.

 

 진행하면서 beautifulsoup4나 pandas, requests 등 다양한 패키지들을 설치했는데 이 때 Anaconda prompt에서 32bit로 설정하지 않고 그냥 설치하면 64bit로 설치가 되는 것 같다. Anaconda 가상환경 32bit 설정 관련은 아래 글 참조

 

Open API 연동 오류 해결 방법(AttributeError: 'QAxWidget' object has no attribute 'OnEventConnect')

 

Open API 연동 오류 해결 방법(AttributeError: 'QAxWidget' object has no attribute 'OnEventConnect')

 『파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)』을 참고해서 자동 매매 프로그램을 만들던 중 아래 코드를 실행시키다가 예상치 못한 오류를 만났습니다. 오류 메시지를 검색해보니, ��

lazyquant.tistory.com

 

 문제는 아래의 설정을 하고 가상환경을 생성한다고 해서, 그 가상환경에서 설치하는 패키지들이 다 32bit 용으로 설치되는 것은 아닌 것 같다(Anaconda Prompt를 종료하고 다시 실행하면 디폴트 값으로 64bit으로 세팅). 그래서 계속 32bit 용으로 설치를 하고 싶으면, Anaconda Prompt를 실행해서 가상환경을 Activate할 때마다 설정을 진행해주면 될 듯하다.

 

set CONDA_FORCE_32BIT=1

 

 기존에 설치된 다양한 패키지들(beautifulsoup4, pandas, requests 등)을 uninstall 해주고, 처음부터 한다는 마음으로 set CONDA_FORCE_32BIT=1 설정을 한 후에 차례 차례 패키지들을 install했다. 그리고 나서 해당 소스를 run하니 정상적으로 돌아가는 것을 확인할 수 있었다.

댓글()