Python

[Jupyter Notebook] ImportError: cannot import name 'MutableSet' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

xojuholic 2022. 11. 25.
728x90
반응형

Open DART API 사용을 하려고 API Key 신청하고 Jupyter Notebook .ipynb 파일에서 !pip install dart-fss 명령으로 관련 패키지를 설치한 후 아래와 같이 코드를 작성하고 실행했더니 바로 오류를 뿜었다. 참고로 설치된 Python 버전3.10.6이다.

import dart_fss as dart_fss
import pandas as pd

api_key = '35f464ee744a0ce5247ac14b25f277a8c5fa7d3a'
dart_fss.set_api_key(api_key = api_key)

corp_list = dart_fss.get_corp_list()

corp_list.corps

 

그리고 오류 내용은 아래와 같다.

File ~/.local/lib/python3.10/site-packages/arelle/PythonUtil.py:9
      7 from decimal import Decimal
      8 from fractions import Fraction
----> 9 from collections import OrderedDict, MutableSet
     10 
     11 if sys.version[0] >= '3':

ImportError: cannot import name 'MutableSet' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

 

저 오류는 구글링 해보니 Python 버전이 3.10대로 올라서면서 변화가 생긴 부분을 미처 반영하지 못한 패키지가 존재하기 때문이라고 한다. 그래서 오류 내용에 있는 파일인 ~/.local/lib/python3.10/site-packages/arelle/PythonUtil.py 파일을 수정해야 하는데, 수정한 내용은 아래와 같다.

      7 from decimal import Decimal
      8 from fractions import Fraction
      9 # from collections import OrderedDict, MutableSet	# 기존 오류 구문 주석 처리
---> 10 from collections import OrderedDict			# 기존 코드 일부 수정
---> 11 from collections.abc import MutableSet			# 새롭게 추가

 

728x90
반응형
SMALL

댓글

💲 추천 글