Python 에러 정리

노하람·2022년 2월 7일
0

unsupported pickle protocol: 5

  • Docker container 환경에서 pickle load 시 발생할 수 있는 에러이다.
  • 파이썬 버전 3.8 이상에선 pickle5 프로토콜을 내부적으로 사용하는 모양이다. 다른 가상환경에서 pickle을 저장하고(pickel4 프로토콜) 도커 파일에선 pickel5를 읽으려하니 문제인 듯 하다.

해결 방법

  • pip install pickle5
  • import pickle5 as pickle
  • 이후 pickle load 구문은 그대로 사용하면 된다.
    - 나는 도커 컨테이너를 만들어 사용하고 있기 때문에 requirements.txt에 pickle5를 추가하였다.
  • 혹시나 파이프라인을 만드는 과정에서 이 오류를 만났다면, dsl-compile을 실행한 환경이 어떤 환경인지 확인해보기 바란다. 파이썬 버전이 의도한 바와 다른 환경에서 dsl-compile을 수행했다면 마찬가지로 계속 오류가 발생할 수도 있다.
profile
MLOps, MLE 직무로 일하고 있습니다😍

0개의 댓글