파이썬 패키지를 개발할 때, 코드의 품질을 관리하는 것은 매우 중요합니다. 코드 품질이 좋지 않으면 유지보수성이 떨어지고 버그가 발생하기 쉬워집니다.
Poetry는 파이썬의 패키지 및 의존성 관리 도구로써 코드 품질을 관리하는데 매우 유용합니다. Poetry를 사용하면 의존성을 쉽게 설치하고 업데이트할 수 있으며, 가상환경을 통해 프로젝트를 격리시킬 수도 있습니다.
Poetry 설치
Poetry를 사용하기 위해서는 먼저 Poetry를 설치해야 합니다. 파이썬 3.5 이상이 설치되어 있는 환경에서 아래의 명령어를 실행하여 Poetry를 설치합니다.
$ pip install poetry
새로운 프로젝트 생성
Poetry를 사용하여 새로운 프로젝트를 생성하려면 poetry new
명령어를 사용합니다.
$ poetry new myproject
$ cd myproject
위의 명령어를 실행하면 myproject
라는 이름의 새로운 디렉토리가 생성되고, 해당 디렉토리로 이동합니다.
의존성 관리
Poetry는 pyproject.toml
파일을 사용하여 프로젝트의 의존성을 관리합니다. pyproject.toml
파일을 열어 해당 파일에 필요한 패키지를 추가합니다.
[tool.poetry.dependencies]
python = "^3.8"
requests = "^2.25"
위의 예시에서는 파이썬 버전을 3.8 이상으로 설정하고, requests 패키지를 의존성으로 추가하였습니다.
의존성이 정의되면, 아래의 명령어를 사용하여 의존성을 설치합니다.
$ poetry install
테스트 실행
Poetry를 사용하여 개발한 코드를 테스트하려면, 다음의 명령어를 사용합니다.
$ poetry run pytest
위의 명령어를 실행하면 프로젝트의 테스트 코드가 실행되어 테스트의 성공 여부를 확인할 수 있습니다.
코드 포맷팅
코드를 일관된 스타일로 정리하는 것은 코드의 가독성을 높이고 유지보수성을 향상시키는 중요한 요소입니다. Poetry는 코드 포맷팅 도구인 black을 지원합니다. Poetry 프로젝트에서 아래의 명령어를 사용하여 black을 설치합니다.
$ poetry add --dev black
black이 설치되면, 아래의 명령어를 실행하여 코드를 포맷팅할 수 있습니다.
$ poetry run black .
정적 분석
코드의 오류를 미리 방지하기 위해 정적 분석 도구를 사용하는 것은 좋은 습관입니다. Poetry는 정적 분석 도구인 flake8을 지원합니다. Poetry 프로젝트에서 아래의 명령어를 사용하여 flake8을 설치합니다.
$ poetry add --dev flake8
flake8이 설치되면, 아래의 명령어를 실행하여 코드를 정적 분석할 수 있습니다.
$ poetry run flake8
결론
Poetry는 파이썬 패키지의 코드 품질을 관리하기 위한 강력한 도구입니다. 의존성 관리, 테스트 실행, 코드 포맷팅, 정적 분석 등을 통해 코드의 품질을 향상시킬 수 있습니다. Poetry를 사용하여 프로젝트의 코드 품질을 관리해보세요!
참고문서
- Poetry 공식 문서: https://python-poetry.org/docs/
- black 공식 문서: https://black.readthedocs.io/en/stable/
- flake8 공식 문서: https://flake8.pycqa.org/en/latest/