본문 바로가기
C++, MFC

[C++ / MFC] Py_Initialize() 호출 시 에러 / Fatal Python error: failed to get the Python codec of the filesystem encoding

by dev_drive 2023. 3. 10.
반응형

 

 

Fatal Python error: failed to get the Python codec of the filesystem encoding

위 에러는 파이썬의 코덱을 찾지 못하는 에러로 환경 설정이 제대로 안된 경우 발생할 수 있는 에러입니다. 

 

비주얼 스튜디오에서 파이썬 인터프리터를 호출하는 Py_Initialize()함수 실행 시

위 에러가 뜨면서 프로그램이 종료되는 경우 다음 사항을 체크해보세요. 

 

우선 Anaconda를 통해 설치했든, Python 자체를 설치했든 환경변수가 제대로 설정되어 있는지 확인해봅니다. 

 

시스템 환경 변수 편집 > 시스템 변수 > Path 편집으로 들어가서

Python.exe가 설치된 경로가 환경 변수에 포함되어 있는지 확인합니다.

저는 아나콘다로 설치했기 때문에 아래 경로로 등록되어 있습니다.

C:\Users\UserName\anaconda3

C:\Users\UserName\anaconda3\Scripts

 

 

환경 변수가 제대로 설정되었다면 cmd(명령 프롬프트)에서

python을 입력하면 아래와 같이 설정된 파이썬이 나타날 것입니다. 

만약 2가지 이상의 파이썬 버전이 설치되어 있어서 원하는 버전이 나타나지 않는다면

불필요한 버전은 환경변수에서 제거해주세요. 

 

 

 

여기까지 설정되어 있는데도 동일한 에러가 발생한다면

앱 및 기능에 들어가서 설치된 Visual Studio 버전을 찾고

수정 버튼을 클릭해서 "Python 개발" 부분이 설치되어 있는지 확인해보시고

설치되어 있지 않다면 설치를 진행해주세요. 

 

추가적으로 python.h와 lib를 불러오기 위해서는 비주얼 스튜디오 프로젝트에서 경로 설정도 필요합니다.

 

pythonhome = python.exe가 있는경로

추가 포함 디렉터리에 pythonhome\include

추가 라이브러리 디렉터리에 pythonhome\libs 를 추가하고

실행 시 dll 파일이 필요하다고 나오면 exe경로에 해당 버전의 python.dll을 위치시킵니다.

 

반응형

댓글