[python] python-dotenv와 python-click의 함께 사용하기

목차

소개

python-dotenv는 Python 프로젝트에서 환경 변수를 설정하고 관리하기 위한 유용한 도구이며, python-click은 명령줄 인터페이스(CLI)를 쉽게 만들어주는 도구입니다. 이 두 가지 도구는 많은 Python 개발자들에게 사랑받고 있으며, 함께 사용할 경우 더욱 효과적으로 환경 변수를 관리하고 CLI를 구축할 수 있습니다.

python-dotenv

python-dotenv는 .env 파일을 사용하여 Python 프로젝트에서 환경 변수를 설정하고 로드할 수 있게 해주는 패키지입니다. .env 파일은 프로젝트 루트 디렉토리에 위치하며, 환경 변수와 해당 값들을 key-value 쌍으로 저장합니다. 이후에는 .env 파일을 로드하여 Python 코드에서 사용할 수 있습니다.

python-dotenv를 사용하면 프로젝트의 설정을 쉽게 관리할 수 있고, 다른 개발자들과 환경 변수를 공유하거나 버전 관리할 때 유용합니다.

python-click

python-click은 명령줄 인터페이스(CLI)를 작성하기 위한 간편한 라이브러리입니다. Click을 사용하면 명령어, 옵션, 도움말 등을 자동으로 생성해주고, 명령어 함수를 정의하여 CLI를 쉽게 만들 수 있습니다. Click은 대규모 프로젝트부터 작은 스크립트까지 다양한 종류의 CLI를 구축할 수 있습니다.

python-dotenv와 python-click 함께 사용하기

python-dotenv와 python-click는 서로 호환되며 함께 사용할 수 있습니다. 환경 변수를 로드하여 Click 명령어를 실행하는 Python 프로젝트를 만들어 보겠습니다.

예제 코드

아래는 python-dotenv와 python-click를 함께 사용하는 예제 코드입니다.

import click
from dotenv import load_dotenv

@click.command()
@click.option("--name", type=str, default="World", help="The name to greet")
def greet(name):
    click.echo(f"Hello, {name}!")

if __name__ == "__main__":
    # .env 파일 로드
    load_dotenv()

    # Click 명령어 실행
    greet()

위 코드에서 load_dotenv() 함수를 사용하여 .env 파일을 로드하고, @click.command() 데코레이터를 사용하여 커맨드를 정의합니다. greet 함수는 --name 옵션을 받아 환영 메시지를 출력합니다. 마지막으로 if __name__ == "__main__": 안에서 Click 명령어를 실행합니다.

위 코드를 실행하기 전에 .env 파일에 환경 변수를 설정해야 합니다. .env 파일에 NAME=John과 같이 설정하고, 위 예제 코드를 실행하면 Hello, John!이 출력됩니다.

참고 자료