- Colab 같은 클라우드 환경 사용 비중이 늘어나고 있습니다.
- 클라우드에 기본으로 설치되지 않은 라이브러리를 설치하는 방법을 알아봅니다.
- pip도 import 해서 사용할 수 있습니다.
1. 클라우드 환경
- Google Colab이나 Streamlit cloud 처럼 클라우드 기반 서비스 활용 비율이 늘어납니다.
- 장점이 많지만 서버가 물리적으로 고정되어 있지 않다 보니 필요한 라이브러리가 없을 때가 많습니다.
- 일일이 확인하면서
!pip install {library}
를 실행하기가 번거롭습니다.
- 그렇다고
requirements.txt
를 쓸 만큼 큰 일도 아닐 때 간단하게 처리하고 싶습니다.
2. import pip
- 라이브러리 설치에 사용하는
pip
는 import도 가능합니다.
- 노트북 환경이건 모듈로 사용되는 .py 파일이건 무관합니다.
- 프로그램 시작 부분에 아래 코드를 삽입해 import가 안 되어 있는 라이브러리를 설치할 수 있습니다.
- 아래는 geopandas를 사용하고자 설치하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import pip
def install(package, upgrade=True): if hasattr(pip, 'main'): if upgrade: pip.main(['install', '--upgrade', package]) else: pip.main(['install', package]) else: if upgrade: pip._internal.main(['install', '--upgrade', package]) else: pip._internal.main(['install', package])
try: eval(f"import {package}") except ModuleNotFoundError: print("# Package name might be differnt. please check it again.") except Exception as e: print(e)
|
3. GeoPandas 예제: Choro legends
GeoPandas Example Gallery: Choro legends
- 같은 요령으로 Colab 기본 설치 라이브러리가 아닌
mapclassify
와 libpysal
을 설치합니다.
- 이후 아래 코드를 실행하면 깔끔하게 실행됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| %matplotlib inline
import matplotlib.pyplot as plt from geopandas import read_file
_ = libpysal.examples.load_example('South') pth = libpysal.examples.get_path('south.shp') df = read_file(pth)
fig, ax = plt.subplots(figsize=(10, 5), constrained_layout=True) df.plot(column='HR60', scheme='QUANTILES', k=4, \ cmap='BuPu', legend=True, legend_kwds={'loc': 'center left', 'bbox_to_anchor':(1,0.5)}, ax=ax)
fig.savefig("13_install_01.png")
|