파이썬

VSCode MayaCode 확장 사용 시 발생하는 디코드 에러 고치기

뚜_ 2025. 6. 20. 14:15

VSCode에서 코드 작성 후 'Send Python Code to Maya'를 하면 아래와 같은 에러가 발생하는 경우가 있다.

# Error: UnicodeDecodeError: file <maya console> line 1: 'cp949' codec can't decode byte 0xed in position 7775: illegal multibyte sequence

 

왠지 주석에서 사용한 한글이 문제일 것 같아서 주석을 빼고 코드를 실행해보니 정상적으로 동작했다.

 

위 에러를 검색해보니 파이썬에서 open 함수 사용 시 인코딩 설정으로 인한 문제라는 것을 확인했고, 마야로 코드를 보내 실행할 수 있도록 해주는 확장 프로그램인 MayaCode의 소스코드를 확인해보니 open 함수를 호출하는 부분이 있었다.

 

깃헙에 공개되어있는 해당 확장 프로그램 소스를 fork 하여 고쳐서 커스텀 확장 프로그램으로 사용할 수도 있겠지만, 일단은 내 컴퓨터에 설치된 확장 프로그램의 코드를 직접 수정하는 방식으로 해결하였다. 아래는 그 방법이다.

 

1. 확장 프로그램이 설치된 경로로 이동하여 소스 파일 열기

C:\Users\{사용자명}\.vscode\extensions\saviof.mayacode-1.5.0\out\extension.js

 

2. 237번 라인의 코드를 아래와 같이 수정 (open함수 호출 시 encoding='UTF-8' 파라미터 추가)

cmd = `python("exec(open('${posixPath}', encoding='UTF-8').read())")`;

 

컴퓨터에 설치되어있는 파일을 직접 고쳤기 때문에 추후 이 확장 프로그램이 업데이트 되어 설치가 다시 된다면 에러가 다시 발생할 수 있겠지만 우선은 이러한 방식으로 해결하였다.

 

초반에 공부할 땐 주석을 영어로 쓰고 넘어갔지만 리깅 자동화 툴을 개발하면서 점점 주석을 작성할 일이 많아지는데 가독성이 떨어지고 불편하여 오늘 드디어 고쳐봤는데 진작 고칠걸 그랬다😅