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을 수행했다면 마찬가지로 계속 오류가 발생할 수도 있다.