github 저장소에 README를 작성하다 보면 사용한 라이브러리의 버전들을 확인해야 할 일이 생깁니다.
똑같은 라이브러린데 버전 좀 다르다고 문제가 생기겠어? 단순하게 생각할 수도 있겠지만 그게 그렇지가 않습니다.
당장 초등학교 때 뚱땡이 컴퓨터에 있던 Window 95와 이 노트북의 Window 10이 같을 수는 없잖아요?
물론 극단적인 예시입니다만, 라이브러리 하나의 버전만 달라도 코드가 제대로 돌아가지 않을 수 있습니다. 마치 Window 95에서 돌렸던 게임을 Window 10에서 돌릴 수 없듯이 말이죠. 그리고 기본적으로 github에 올린 코드들은 다른 사람이 내려받아 사용할 때도 문제없이 돌아가야 합니다. 에초에 코드들 공유하고 프로젝트 하라고 만들어둔 공간이기 때문입니다. 그렇기에 해당 코드 혹은 프로젝트에 쓰였던 라이브러리 및 프레임워크들의 버전을 README에 제대로 표시해둘 필요가 있습니다.
각 라이브러리의 버전을 확인하는 코드는 다음과 같습니다.
# jupyter notebook에서 라이브러리 버전 확인
# 확인하고 싶은 라이브러리를 import한 후 실행
import urllib.request
import keras as k
import tensorflow as tf
import pandas as pd
import numpy as np
import cv2
print('request 버전 :' + urllib.request.__version__)
print('keras 버전 :' + k.__version__)
print('tensorflow 버전 :' + tf.__version__)
print('pandas 버전 :' + pd.__version__)
print('numpy 버전 :' + np.__version__)
print('OpenCV 버전 :' + cv2.__version__)
음, 그런데 좀 번거로워 보입니다.
이것저것 만지고 뚝딱뚝딱하다 보면 금방 설치할 라이브러리가 불어나는데, 그걸 하나 하나 저렇게 __version__을 써서 확인해볼 수는 없잖아요?
놀랍게도 코드 한 줄로 모든 라이브러리의 버전을 확인할 수 있는 방법이 있습니다.
# 한 방에 해당 kernel에 설치된 모든 라이브러리 버전 확인
pip freeze
jupyter notebook에서 해당 코드가 실행된 화면을 보겠습니다.
이제 저 안에서 Ctrl+F의 도움을 받아 확인하고 싶은 라이브러리 이름을 검색해보면 됩니다.
conda 가상환경을 생성해 평소에 쓰는 기본 kernel과 다른 별도의 kernel을 만들었을 경우, 저 코드를 이용해 각 kernel에 설치된 라이브러리를 비교해볼 수도 있습니다. conda 가상환경 생성과 kernel 연결에 대해서는 다른 포스팅에서 다루겠습니다.
pip freeze가 편리하기는 하지만, 특정 라이브러리를 업그레이드하거나 다운그레이드한 후 버전을 확인할 때는 당연하게도 __version__이 더 편합니다.
도움이 되었기를 바랍니다.
'Python' 카테고리의 다른 글
[python]Windows 10에 pygraphviz 설치하기(conda) (0) | 2021.04.25 |
---|---|
[Python]virtualenv의 파이썬 버전 변경하기 (0) | 2021.03.27 |
[Python, django]WebDriverException 오류 해결법 (2) | 2020.09.18 |
[Python]웹 크롤링 중 chrome driver 작동이 중지될 때 해결법 (0) | 2020.09.08 |
[AWS, Colab]코드 써서 zip 파일 풀기 (4) | 2020.07.13 |