본문 바로가기
빅데이터/Hue

[Hue] 빌드 중 ValueError: bad marshal data (unknown type code) 오류 해결 방법

by hs_seo 2020. 10. 5.

문제

Hue를 빌드할 때 다음의 오류가 발생할 수 있습니다. 컴파일 된 pyc 파일과 실행환경의 파이선 버전이 달라서 데이터를 읽을 수 없을 때 발생하는 오류입니다.

ValueError: bad marshal data (unknown type code)

해결 방법

Hue를 빌드 할 때. 파이선3의 환경으로 설정하라고 되어 있었지만 장고 모듈을 빌드하는 과정에서 해당 오류가 발생하여 파이썬2로 빌드하여 문제를 해결할 수 있었습니다.

export PYTHON_VER=python2.7

해당 오류는 pyc 파일을 삭제하고 실행 환경의 파이썬으로 다시 빌드하면 해결할 수 있습니다.

find . -name "*.pyc"

참고

marshal을 이용해서 파일을 읽는 방법은 다음과 같습니다.

import marshal
filename = "bdist.linux-x86_64/egg/django_prometheus/__pycache__/__init__.cpython-38.pyc"

f = open(filename, 'rb')
f.read(8)
code = marshal.load(f)
f.close()

f = open(filename, 'rb')
f.read(12)
code = marshal.load(f)
f.close()

 

반응형