pip list 사용법 및 4가지 옵션

이 포스팅에서는 현재 설치된 패키지를 확인할 수 있는 pip list 명령어의 사용법과 유용한 옵션에 대해 알아보겠습니다. Python은 다양한 패키지와 라이브러리를 활용할 수 있어 매우 유용한 프로그래밍 언어입니다. 이 패키지들을 효율적으로 관리하기 위해 pip라는 도구를 사용합니다. pip는 Python 패키지 인덱스(PyPI, Python Package Index)에서 패키지를 설치, 업데이트 및 제거하는 명령어 도구입니다. 설치된 패키지를 확인하는 방법과 추가적인 사용법도 함께 살펴보도록 하겠습니다.

pip list 기본 사용법

pip list 명령어는 시스템에 설치된 모든 Python 패키지의 목록을 출력합니다. 이 명령어를 사용하면 현재 어떤 패키지들이 설치되어 있는지 한눈에 확인할 수 있습니다. 기본적인 사용법은 다음과 같습니다:

pip list

위 명령어를 입력하면 터미널에 설치된 패키지 목록과 함께 각 패키지의 버전 정보가 출력됩니다. 출력 결과는 다음과 같이 표시됩니다:

그림 1. pip list로 설치된 파이썬 패키지 확인
그림 1. pip list로 설치된 파이썬 패키지 확인

이와 같이 패키지 이름과 버전이 나란히 나옵니다. pip list는 패키지 관리에 매우 유용한 도구로, 패키지 버전 충돌 문제를 확인하거나 필요 없는 패키지를 제거할 때 유용합니다.

pip list의 주요 옵션들

pip list는 단순히 패키지 목록을 출력하는 것 외에도 다양한 옵션을 통해 유용한 정보를 제공합니다. 이러한 옵션들은 특정 상황에서 더욱 세밀한 제어를 가능하게 해줍니다. 여기서는 몇 가지 유용한 옵션을 살펴보겠습니다.

--outdated: 업데이트가 필요한 패키지 확인

--outdated 옵션은 현재 설치된 패키지 중에서 업데이트가 필요한 패키지들을 보여줍니다. 이 옵션을 사용하면 구버전을 사용하고 있는 패키지를 쉽게 찾아내어 최신 버전으로 업데이트할 수 있습니다.

pip list --outdated

이 명령어를 실행하면 다음과 같이 출력됩니다:

그림 2. pip list --outdated로 업데이트가 필요한 패키지 확인
그림 2. pip list –outdated로 업데이트가 필요한 패키지 확인

위 결과에서 Version은 현재 설치된 버전, Latest는 이용 가능한 최신 버전을 나타냅니다. 최신 버전이 있는 패키지를 손쉽게 확인할 수 있어 업데이트 관리에 매우 유용합니다.

--uptodate: 최신 상태의 패키지 확인

--uptodate 옵션은 이미 최신 버전으로 설치된 패키지들을 확인할 때 사용됩니다. 현재 사용 중인 패키지 중에서 업데이트가 필요 없는 패키지를 확인하고 싶을 때 유용합니다.

pip list --uptodate

이 명령어를 실행하면 최신 상태인 패키지들만 출력됩니다. 이는 패키지의 상태를 빠르게 점검하고, 불필요한 업데이트를 방지하는 데 도움을 줍니다.

그림 3. pip list --uptodate로 최신 버전의 패키지 확인
그림 3. pip list –uptodate로 최신 버전의 패키지 확인

--format: 출력 형식 지정

pip list는 출력 형식을 다양하게 변경할 수 있습니다. 기본적으로는 테이블 형식으로 출력되지만, 다른 형식으로도 출력이 가능합니다. 예를 들어, --format=columns 옵션을 사용하면 출력이 컬럼 형식으로 정렬됩니다.

pip list --format=columns

이 명령어를 사용하면 다음과 같이 출력되는데, 사실 이 옵션은 사용하지 않아도 적용되는 기본값입니다.

그림 4. pip list --format=columns 컬럼 형식으로 출력
그림 4. pip list –format=columns 컬럼 형식으로 출력

–format=freeze: requirements.txt 파일로 저장

설치된 패키지들을 요구사항 파일(requirements.txt)로 저장하는 방법이 있습니다. 이 방법은 프로젝트를 다른 환경에서 재현할 때 매우 유용합니다. 설치된 패키지를 requirements.txt 파일로 저장하려면 pip list --format=freeze 명령어를 사용합니다.

pip list --format=freeze > requirements.txt

이 명령어는 현재 환경에 설치된 패키지와 그 버전을 requirements.txt 파일로 저장합니다. 나중에 이 파일을 사용해 동일한 패키지들을 다른 환경에 설치할 수 있습니다. 아래와 같은 형식으로 requirements.txt 파일에 기록됩니다.

그림 5. pip list: --format=freeze 옵션으로 requirements.txt 만들기
그림 5. pip list: –format=freeze 옵션으로 requirements.txt 만들기

–format=json: json 형태로 출력

JSON 형식으로 값을 출력하게 되면, 복잡하게 문자열을 파싱할 필요 없이 출력 값인 JSON으로 값을 확인할 수 있으므로 프로그래밍하기에 편리합니다.

그림 6. pip list: --format=json 옵션으로 JSON 형식으로 출력
그림 6. pip list: –format=json 옵션으로 JSON 형식으로 출력

--not-required: 종속되지 않은 패키지 확인

--not-required 옵션은 다른 패키지에 종속되지 않은 패키지, 즉 독립적으로 설치된 패키지를 확인할 때 사용됩니다. 이 옵션은 시스템의 불필요한 패키지를 정리할 때 매우 유용합니다.

pip list --not-required

이 명령어를 사용하면 다음과 같은 결과를 얻을 수 있습니다:

그림 7. pip list --not-required 옵션으로 종속되지 않은 패키지 확인
그림 7. pip list –not-required 옵션으로 종속되지 않은 패키지 확인

이 결과는 다른 패키지에 의해 의존되지 않는 패키지들을 표시합니다. 이를 통해 불필요한 패키지를 제거하여 시스템을 더 깔끔하게 유지할 수 있습니다.

pip list 사용 시 주의사항

pip list 명령어는 매우 유용하지만 몇 가지 주의할 점이 있습니다.

  • 가상 환경에서 사용: Python 패키지는 시스템 전체에 설치될 수도 있고, 특정 프로젝트에만 설치될 수도 있습니다. pip list 명령어를 사용할 때는 가상 환경(virtual environment) 안에서 실행하는 것이 좋습니다. 가상 환경은 특정 프로젝트에만 필요한 패키지를 설치하고 관리할 수 있게 해주는 도구입니다. 가상 환경 외부에서 패키지를 설치하면 다른 프로젝트와 충돌이 발생할 수 있습니다.
  • 권한 문제: 만약 pip list를 사용하여 패키지를 설치하거나 제거하려는 경우, 관리자 권한이 필요할 수 있습니다. 특히 시스템 전역에 패키지를 설치할 때는 sudo 명령어와 함께 사용하는 것이 일반적입니다. 그러나 가상 환경 내에서는 이러한 권한 문제가 발생하지 않으므로 권장됩니다.
  • 패키지 관리: pip list로 표시된 패키지 목록을 보면서 불필요한 패키지를 제거할 때 주의해야 합니다. 잘못된 패키지를 제거하면 의존성 문제가 발생할 수 있으며, 이는 프로젝트 전체에 영향을 미칠 수 있습니다.

정리

pip list 명령어는 Python 개발자에게 있어 설치된 패키지를 관리하는 데 필수적인 도구입니다. 이 명령어를 사용하면 설치된 패키지와 그 버전을 확인하고, 업데이트가 필요한 패키지를 찾아낼 수 있습니다. 또한, 다양한 옵션을 통해 더 세부적으로 패키지를 관리할 수 있습니다.

이 글에서는 pip list의 기본 사용법과 함께 유용한 옵션들에 대해 알아보았습니다. 이 명령어를 적절히 활용하면 Python 패키지 관리가 훨씬 더 편리해질 것입니다. Python 환경을 보다 효율적으로 관리하기 위해 pip list 명령어와 그 옵션들을 자주 활용해 보시길 권장합니다.

참고자료

관련 포스트

Leave a Comment