[python] 파이썬 가상환경(virtualenv)을 사용하여 패키지 라이브러리의 라이선스를 자동으로 보고하는 방법은 무엇인가요?

파이썬 가상환경은 프로젝트별로 독립적인 환경을 구성하여 패키지들의 충돌을 방지하는 도구입니다. 가상환경을 사용하면 패키지들을 프로젝트마다 분리되어 관리할 수 있습니다. 이번 포스트에서는 가상환경을 사용하여 패키지들의 라이선스를 자동으로 보고하는 방법을 알아보겠습니다.

1. 가상환경 생성

먼저, 가상환경을 생성해야 합니다. 가상환경은 프로젝트 폴더 내부에 만들어지며, 필요한 패키지들을 독립적으로 설치할 수 있습니다. 가상환경을 생성하기 위해 다음 명령어를 실행합니다:

python -m venv myenv

위 명령어를 실행하면 “myenv”라는 이름의 가상환경이 생성됩니다. 이제 가상환경을 활성화해야합니다.

2. 가상환경 활성화

가상환경을 활성화하기 위해, 다음 명령어를 실행합니다:

위 명령어를 실행하면 가상환경이 활성화되며, 새로운 명령어 프롬프트가 표시됩니다.

3. 패키지 설치

이제 필요한 패키지들을 설치합니다. 패키지들은 가상환경 내부에 설치되며, 다른 프로젝트의 패키지들과 격리되어 관리됩니다. 패키지를 설치하기 위해 다음 명령어를 실행합니다:

pip install 패키지이름

위 명령어에서 “패키지이름”은 라이선스를 자동으로 보고하기 원하는 패키지의 이름입니다. 필요한 패키지들을 모두 설치한 후, 라이선스를 자동으로 보고하는 스크립트를 작성해보겠습니다.

4. 라이선스 보고 스크립트 작성

가상환경 내부에서 다음과 같이 스크립트를 작성하여 라이선스를 자동으로 보고할 수 있습니다:

import pkg_resources

for dist in pkg_resources.working_set:
    print(f"{dist.project_name} - {dist.version}: {dist.license}")

위 스크립트는 현재 가상환경에 설치된 패키지들의 이름, 버전 및 라이선스를 출력합니다. 실행을 위해 터미널에서 스크립트를 실행합니다:

python license_report.py

위 명령어를 실행하면 각 패키지의 이름, 버전 및 라이선스가 출력됩니다.

5. 추가 설정

라이선스를 자동으로 보고하는 스크립트를 원하는 형식에 맞게 추가로 수정할 수 있습니다. 예를 들어, 스크립트의 결과를 파일로 저장하거나 출력 포맷을 변경하는 등의 작업을 할 수 있습니다.

이제 가상환경에서 필요한 패키지의 라이선스를 손쉽게 파악할 수 있게 되었습니다. 가상환경을 사용하여 패키지들을 관리하면 프로젝트별로 독립적인 환경을 구성할 수 있고, 패키지들의 라이선스도 자동으로 확인할 수 있습니다.

참고 자료