Python 프로젝트를 시작할 때, 의존성 관리와 가상환경 설정을 효율적으로 처리하려면 Poetry
를 사용하는 것이 좋습니다. 이 글에서는 Poetry
를 이용해 Python 패키지를 초기화하는 과정을 단계별로 설명합니다.
1. Poetry란?
Poetry
는 Python 프로젝트의 의존성 관리, 가상환경 설정, 그리고 패키징을 쉽게 해주는 도구입니다. 기존의 pip
와 requirements.txt
를 사용하는 방식보다 더 현대적이고 강력한 기능을 제공합니다.
주요 기능:
- 의존성 추가 및 관리 (
dependencies
,dev-dependencies
분리) - 가상환경 자동 생성 및 관리
- 프로젝트 설정 파일 (
pyproject.toml
) 생성 - 배포 준비 (패키징 및 배포 기능 포함)
2. Poetry 설치
Poetry는 Python 패키지로 설치할 수 있습니다. 아래 명령어를 실행해 설치하세요:
pip install poetry
설치 확인:
poetry --version
3. 프로젝트 디렉토리 생성
먼저 프로젝트 디렉토리를 생성합니다:
mkdir my_project && cd my_project
여기서 my_project
는 프로젝트 이름입니다.
4. Poetry로 프로젝트 초기화
Poetry를 이용해 프로젝트를 초기화합니다:
poetry init
이 명령어를 실행하면 대화형 프롬프트가 나타납니다. 아래는 입력 예시입니다:
This command will guide you through creating your pyproject.toml config.
Package name [my_project]:
Version [0.1.0]:
Description []: A sample Python project using Poetry
Author []: Your Name <your.email@example.com>
License []: MIT
Compatible Python versions [^3.8]: ^3.8
Would you like to define your main dependencies interactively? (yes/no) [yes]: no
Would you like to define your development dependencies interactively? (yes/no) [yes]: no
입력이 끝나면 프로젝트의 기본 설정이 pyproject.toml
파일에 저장됩니다.
5. 의존성 추가
Poetry를 사용해 프로젝트의 의존성을 추가합니다.
런타임 의존성 추가
예를 들어, Flask와 Requests 라이브러리를 추가하려면:
poetry add flask requests
개발 의존성 추가
테스트와 코드 품질 관리를 위해 pytest
와 black
을 개발 의존성으로 추가:
poetry add --dev pytest black
6. 가상환경 관리
Poetry는 기본적으로 프로젝트 디렉토리 외부에 가상환경을 생성합니다. 가상환경을 활성화하려면:
poetry shell
가상환경을 종료하려면:
exit
가상환경이 어디에 생성되었는지 확인하려면:
poetry env info
7. 디렉토리 구조 설정
아래와 같은 기본 디렉토리 구조를 생성합니다:
mkdir src tests
mkdir src/my_project
src/my_project/__init__.py
파일을 생성하여 패키지로 인식되도록 설정:
touch src/my_project/__init__.py
테스트 디렉토리에도 기본 테스트 파일을 추가합니다:
touch tests/test_basic.py
8. 파일 생성
README 파일
프로젝트 설명을 위한 README.md
파일을 생성합니다:
echo "# My Project\nA sample Python project using Poetry." > README.md
.gitignore 파일
Git에 추가되지 않아야 할 파일을 정의하는 .gitignore
파일을 생성합니다:
curl https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore -o .gitignore
9. 스크립트 실행
가상환경에서 스크립트를 실행하려면:
poetry run python src/my_project/__init__.py
10. 최종 디렉토리 구조
설정을 완료한 뒤, 최종 디렉토리 구조는 아래와 같습니다:
my_project/
├── src/
│ └── my_project/
│ └── __init__.py
├── tests/
│ └── test_basic.py
├── README.md
├── .gitignore
├── pyproject.toml
├── poetry.lock
11. Poetry의 추가 기능
의존성 설치
pyproject.toml
파일에 정의된 의존성을 설치하려면:
poetry install
패키지 빌드
프로젝트를 패키징하려면:
poetry build
패키지 배포
PyPI에 패키지를 배포하려면:
poetry publish
결론
Poetry를 사용하면 Python 프로젝트의 초기화부터 의존성 관리, 패키징까지 모든 과정을 간단하고 체계적으로 관리할 수 있습니다. 위 과정을 따라가며 프로젝트를 시작해 보세요!
'Etc' 카테고리의 다른 글
Elasticsearch 문서 제목(title) 검색이 잘 안 되는 이유와 명명 방식 가이드 (0) | 2025.04.12 |
---|---|
Jira 설치 가이드 (Ubuntu) (0) | 2025.04.12 |
Elasticsearch 개념과 설치 가이드 (2) | 2024.12.18 |
텍스트 청크와 토큰의 차이점 이해하기 (2) | 2024.12.18 |
JVM, Node.js, Python의 환경 관리 방식 비교 (2) | 2024.12.09 |