본문 바로가기
Development/Python

python yaml file load시 error 발생

by shuka 2023. 2. 22.
728x90
728x90

python code에서 yaml파일을 load했을 경우 에러 발생

yaml파일을 작성하고 python code로 다음과 같이 load하려고 했다.

import yaml

with open('train.yaml') as f:
    yml = yaml.load(f)

 

그런데 다음과 같은 오류가 발생했다.

TypeError: load() missing 1 required positional argument: 'Loader’

 

yaml.load()시 TypeError 해결 방법

오류 원인은 PyYAML 버전의 문제였다.

 

pip list를 치면 현재 install되어 있는 library list들을 볼 수 있는데 PyYAML version이 6.0으로 기존의 쓰던 version보다 높아지면서 발생한 오류였다.

 

해결 방법1:

만약 현재 사용하는 version을 유지하고 싶을 경우에는 yaml.load()에서 option 하나만 추가해주면 해결된다.

  • "Loader=yaml.FullLoader" 추가
# 기존 yaml.load() 코드
yml = yaml.load(f)

# 추가해야 할 option
yml = yaml.load(f, Loader=yaml.FullLoader)

 

해결 방법2:

두 번째 해결 방법은 PyYAML의 version을 내리는 것이다.

 

내 경우에는 6.0 version에서는 오류가 발생했고, 5 version으로 내리면서 해결됐다.

 

# 5.4 version
pip install PyYAML==5.4

# 6.0 version
pip install PyYAML==6

 

728x90
반응형

댓글