[python] 파이썬 프로젝트 배포에 필요한 설정 파일

파이썬 프로젝트를 배포할 때는 몇 가지 설정 파일을 만들어야 합니다. 이 설정 파일들은 프로젝트의 환경을 정의하고, 실행 시에 필요한 변수들을 저장하는 역할을 합니다. 이번 포스트에서는 파이썬 프로젝트 배포에 필요한 여러 가지 설정 파일에 대해 알아보겠습니다.

1. requirements.txt

requirements.txt는 프로젝트가 의존하는 라이브러리들을 정의하는 파일입니다. 일반적으로 파이썬 패키지를 설치할 때 pip install 명령어를 사용하는데, 이때 requirements.txt 파일을 참조하여 필요한 패키지들을 자동으로 설치할 수 있습니다.

requirements.txt 파일은 각 라이브러리와 버전을 한 줄에 하나씩 명시해야 합니다. 예를 들어, 다음과 같이 작성할 수 있습니다:

numpy==1.18.1
pandas==1.0.3

== 다음에는 라이브러리의 버전을 명시하는데, 버전을 명시하지 않으면 가장 최신 버전이 설치됩니다.

2. .env 파일

.env 파일은 프로젝트에서 사용하는 환경 변수들을 저장하는 파일입니다. 환경 변수는 프로젝트의 동작을 설정하는 데에 필요한 값들을 저장하는데 사용됩니다. 예를 들어, 데이터베이스 연결 정보, API 토큰, 비밀키 등을 저장할 수 있습니다.

.env 파일은 키-값 쌍으로 설정되며, 각 줄에 하나의 변수를 작성해야 합니다. 예를 들어, 다음과 같이 작성할 수 있습니다:

DB_HOST=localhost
DB_USERNAME=admin
DB_PASSWORD=12345

프로젝트에서는 os.getenv() 함수나 python-dotenv 라이브러리를 사용하여 이 .env 파일에서 환경 변수를 로드할 수 있습니다.

3. config.py 파일

config.py 파일은 프로젝트의 설정을 정의하는 파일입니다. 이 파일은 일반적으로 개발 환경, 테스트 환경, 운영 환경 등 각각의 환경에 따라 다른 설정값들을 정의합니다.

config.py 파일에는 각각의 환경에 맞는 변수들을 설정해야 합니다. 예를 들어, 개발 환경의 경우 다음과 같이 작성할 수 있습니다:

DEBUG = True
DATABASE_URL = "localhost"

config.py 파일에서 설정한 변수들은 프로젝트의 다른 부분에서 참조하여 사용할 수 있습니다.

결론

파이썬 프로젝트를 배포할 때는 requirements.txt, .env, config.py와 같은 설정 파일들을 사용하여 프로젝트의 환경을 정의하고 필요한 변수들을 저장할 수 있습니다. 이러한 설정 파일들을 올바르게 사용하면 프로젝트를 더 효율적으로 관리하고 배포할 수 있습니다.

참고 자료