본문 바로가기
Python (Data)/기타

[공공데이터 open API] 에러 핸들링: "Module not found Error: No module named 'urllib2'", "ImportError: cannot import name 'urlencode' from 'urllib'"

by Gina Sim 2021. 7. 26.

공공데이터 포털에서 open API를 받아오면서 발생한 "Module not found" 에러와 "Import Error" 에러 핸들링

결과부터 말하자면 파이썬 버전의 차이에 따른 문제였다

 

현재 사용 중인 파이썬 버전은 3.9.1


공공데이터 포털  https://www.data.go.kr/

먼저 활용한 데이터는 공공데이터 포털에 등록되어 있는

한국산업인력공단의 데이터인 " 산업인력 국가기술자격 통계 정보"

 

먼저 활용하고 싶은 open API 상세를 보면 화면 하단에 아래와 같은 샘플 코드가 나온다.

이 샘플 코드는 open API를 불러오는 코드로 자신이 사용하는 언어에 맞는 샘플 코드를 활용하면 된다.


오류 발생/ 에러 핸들링

Jupyter notebook에서 python을 이용하여 API를 불러올 것이기 때문에

Python 샘플코드를 복사하여 실행시킨 결과 아래와 같은 오류가 발생하게 되었다.

 

ModuleNotFoundError: No module named 'urllib2'

"urlib2" 모듈은 파이썬 버전 2에서 제공하는 모듈로 버전 3에는 존재하지 않는다고 한다.

따라서 다음과 같이 고쳐주면 실행된다.

from urllib2 import Request, urlopen (파이썬 버전 2)
-> from urllib.request import Request, urlopen (파이썬 버전 3)

 

 

ImportError: cannot import name 'urlencode' from 'urllib'

이 에러 역시 파이썬 버전에 다른 에러로 버전 3에서는 다음과 같이 입력해주면 해결된다.

from urllib import urlencode, quote_plus (파이선 버전 2)
-> from urllib.parse import urlencode, quote_plus (파이선 버전 3)

 


결과

두 코드를 고쳐준 결과 제대로 실행된 것을 확인 할 수 있다.

반응형

댓글