[파이썬] 파이썬내에서 패키지 확인 및 저장(터미널 필요없음)
- Python/기초
- 2023. 1. 16.
파이썬의 패키지를 터미널에서 주로 확인했었습니다.
문제는 제가 원하는 패키지가 설치되었는지 확인하려면 일일히 스크롤을 올려가며 확인해야하는 불편함이 있습니다. 물론 텍스트로 저장해서 찾아보면 할 수 있지만 파일 하나만들고 메모장 켜고 하는 시간을 줄일까 합니다.
파이썬에서 패키지 찾기
파이썬 내에서 패키지를 찾는 작업을 할 수 있는데 pkg_resorces라는 모듈을 임포트해야합니다.
import pkg_resources
import pandas as pd
pd.DataFrame(sorted([(i.key,i.version) for i in pkg_resources.working_set]))
컬럼 0은 패키지 이름이로 컬럼1은 패키지 버전을 의미합니다.
데이터프레임으로 만들어놓으면 찾기가 쉬워집니다.
예를 들어, tensorflow가 있는지 확인하려면 str.contains를 이용하면 됩니다.
데이터프레임을 pack이라고 재정의를 하고 tensorflow를 찾아보겠습니다.
pack = pd.DataFrame(sorted([(i.key,i.version) for i in pkg_resources.working_set]))
pack[pack[0].str.contains('tensorflow')] #0 컬럼에서 tensorflow 찾기
tensorflow가 들어간 모든 패키지가 출력되는 걸 볼 수 있습니다.
requirements.txt저장하기
환경을 다른 기기에 옮기려면 패키지 정보가 txt로 있어야 합니다. 터미널에서의 작업 필요 없이 파이썬이 켜진 상태에서 바로 할 수 있습니다. 이미 데이터프레임으로 패키지 정보를 확보했으니 txt로 저장하는 건 식은 죽 먹기입니다. requirements.txt는 패키지 이름 == 버전으로 구성되어 있습니다.
이에 맞춰서 저장해주면 됩니다.
with open('requirements.txt','w',encoding='UTF-8') as f:
for index in pack.index:
f.write(pack.loc[index,0]+'=='+pack.loc[index,1]+'\n')
requirements.txt를 이용해서 다른 기기에 옮기거나 패키지 업데이트하는 방법은 아래 포스팅에서 살펴보시기 바랍니다.
마치며
pkg_resources를 통해 더 많은 일들을 할 수 있는 것 같은데 아직은 모르는 영역이 많은 것 같습니다.
함께 보면 좋은 글
[Python] pip 패키지 설치제거, 버전 업그레이드
'Python > 기초' 카테고리의 다른 글
ipynb파일 py로 바꾸기 (0) | 2023.02.16 |
---|---|
[파이썬] 리스트 최대 최소값 찾기 (0) | 2023.02.01 |
파이썬 문자열 공백 없애기 (0) | 2022.11.14 |
[Python] 리스트 csv로 저장,불러오기 (0) | 2022.08.27 |
파이썬 파일모드(파일 읽기,쓰기,추가) (0) | 2022.08.23 |