파이썬 프로젝트를 진행하면서 설치된 라이브러리를 체계적으로 관리하는 것은 매우 중요합니다. 이는 프로젝트의 안정성을 높이고, 협업 시 발생할 수 있는 환경 차이로 인한 문제를 최소화하는 데 큰 도움이 됩니다. 설치된 라이브러리를 확인하고 관리하는 방법을 알면, 프로젝트의 의존성을 명확히 파악하고 필요에 따라 쉽게 환경을 재현할 수 있습니다.
◎ 1. 가상 환경 활성화 |
프로젝트별로 독립적인 라이브러리 관리를 위해 가상 환경을 사용하는 것이 좋습니다. 가상 환경을 사용 중이라면, 먼저 해당 환경을 활성화합니다. 이 단계는 프로젝트별로 독립된 라이브러리 환경을 유지하는 데 중요합니다. 가상 환경을 사용하면 전역 파이썬 환경을 오염시키지 않고 프로젝트별로 필요한 라이브러리만 설치하고 관리할 수 있습니다.
# 가상 환경 활성화 (Windows)
venv\Scripts\activate
# 가상 환경 활성화 (macOS/Linux)
source venv/bin/activate
◎ 2. pip list 명령어 사용 |
가장 간단한 방법은 “pip list” 명령어를 사용하는 것입니다. 이 명령어는 현재 환경에 설치된 모든 파이썬 패키지와 그 버전을 나열합니다. 이 명령어는 현재 환경에 설치된 모든 패키지를 보여주므로, 프로젝트에 직접적으로 필요한 패키지뿐만 아니라 의존성으로 설치된 패키지도 함께 확인할 수 있습니다. 이를 통해 전체적인 라이브러리 구성을 한눈에 파악할 수 있습니다.
pip list
Package Version
------------ -------
numpy 1.21.0
pandas 1.3.0
pip 21.1.3
setuptools 57.0.0
wheel 0.36.2
◎ 3. pip freeze 명령어 사용 |
“pip freeze” 명령어는 현재 환경에 설치된 패키지들을 requirements.txt 파일 형식으로 출력합니다. 이는 프로젝트의 의존성을 관리하고 공유하는 데 매우 유용합니다. 이 명령어를 실행하면 현재 디렉토리에 requirements.txt 파일이 생성되며, 이 파일에는 설치된 패키지들의 목록과 정확한 버전 정보가 포함됩니다.
pip freeze > requirements.txt
numpy==1.21.0
pandas==1.3.0
“pip freeze”를 사용하면 프로젝트의 정확한 의존성을 기록할 수 있어, 다른 환경에서 프로젝트를 재현하거나 배포할 때 매우 유용합니다. 이 파일을 이용하면 “pip install -r requirements.txt” 명령어로 동일한 환경을 쉽게 구성할 수 있습니다.
◎ 4. pipdeptree 사용하기 |
좀 더 상세한 의존성 정보를 확인하고 싶다면 “pipdeptree”를 사용할 수 있습니다. 이 도구는 패키지 간의 의존성 관계를 트리 구조로 보여줍니다. “pipdeptree”는 패키지 간의 의존성 관계를 시각적으로 보여주므로, 복잡한 프로젝트에서 패키지 간 관계를 이해하고 잠재적인 버전 충돌을 파악하는 데 매우 유용합니다. 이를 통해 프로젝트의 의존성 구조를 더 깊이 이해하고 관리할 수 있습니다. 먼저 pipdeptree를 설치합니다.
pip install pipdeptree
그런 다음 실행합니다.
pipdeptree
numpy==1.21.0
pandas==1.3.0
└── numpy [required: >=1.16.5, installed: 1.21.0]
이러한 방법들을 통해 파이썬 프로젝트의 라이브러리를 효과적으로 관리할 수 있습니다. 설치된 라이브러리를 정확히 파악함으로써 프로젝트의 안정성이 향상되고, 다른 환경에서의 재현성이 보장됩니다. 또한, 팀 프로젝트에서 모든 구성원이 동일한 환경에서 작업할 수 있게 되어 협업 효율성이 크게 증가합니다. 버전 관리와 의존성 추적이 용이해져 장기적으로 프로젝트 유지보수가 더욱 쉬워집니다.
◎ 5. 특정 라이브러리 상세 보기 |
특정 라이브러리의 상세 정보를 조회하고 싶다면 pip show 명령어를 이용합니다. 매개변수로 라이브러리명을 입력합니다.
D:\ >pip show imutils
Name: imutils
Version: 0.5.4
Summary: A series of convenience functions to make basic image processing functions such as
translation, rotation, resizing, skeletonization, displaying...
Author: Adrian Rosebrock
Author-email: adrian@pyimagesearch.com
License: UNKNOWN
Location: c:\programdata\anaconda3\envs\tensorflow-sample\lib\site-packages
Requires:
Required-by:
'파이썬 Python' 카테고리의 다른 글
파이썬(Python) 2진수, 8진수, 10진수, 16진수 변환하기 (1) | 2024.08.29 |
---|---|
파이썬(Python) OpenCV 파일 읽기와 저장하기 (1) | 2024.08.28 |
파이썬 Python Flask no module named xxxx 에러 해결하기 (0) | 2024.08.25 |
파이썬(Python) Flask 이미지 서버에 올리기 (0) | 2024.08.25 |
파이썬(Python) PyQt5 QListWidget 고급, 데이터 옮기기 (0) | 2024.08.24 |
파이썬(Python) PyQt5 QListWidget 위젯 사용하기 (0) | 2024.08.22 |
파이썬(Python) str.format 문자열 형식화 하기 (0) | 2024.08.17 |
파이썬(Python) Pyinstaller 로 exe 실행 파일 만드는 방법 (5) | 2024.08.02 |