패키지 및 라이브러리
Python에서 패키지는 모듈을 모아 놓은 단위이고, 이런 패키지의 묶음을 라이브러리라고 볼 수 있다.
외부 라이브러리를 사용하려면 패키지를 설치해야 한다.
가상 환경(virtual environment, venv)
프로젝트별로 패키지들을 담는 공구함 개념이다. 라이브러리를 모아두는 곳!
requests 패키지 설치 과정
requests 패키지는 일종의 Ajax 역할을 한다.
에러 발생
AttributeError: partially initialized modue 'requests' has no attribute 'get'
import requests
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
print(row)
위 코드를 실행하자 requests에 'get' 어트리뷰트가 없다는 에러가 떴다.
스택오버플로우에 찾아보니 파일명을 같게 해서 모듈이 shadowing 되었다고 한다. 즉, 괄호 안에도 적혀있는 문구처럼 circular import 때문이었다. requests 실습을 따로 해보고 싶어서 requests.py 파일을 새로 생성한 것이 원인이었다.
파일명을 수정하니 정상적으로 작동했다.
Reference >
- [스파르타코딩클럽] 웹개발 종합반 (항해99 사전 강의 수강 중)
- https://stackoverflow.com/questions/12258816/module-object-has-no-attribute-get-python-error-requests