[Django] 의존성 관리자-poetry 사용법

윤찬효·2023년 6월 7일
0

poetry

목록 보기
1/1
post-custom-banner

최초 pip를 통해서 프로젝트를 진행하고 패키지를 설치하였다.
pip가 익숙해져서 처음에 poetry 사용이 어려웠지만 프로젝트 팀원들 간의 의존성 일치를 위해 poetry를 사용해보았다.


설치

Windows

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

powershell을 열어 위의 코드를 입력해주자.
(설치가 되는 것이므로 원하는 경로로 이동 후 설치해주면 된다.)

Linux(WSL 포함), MacOS

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -

bash를 사용하여 위의 코드를 입력해주자.

설치 후 poetry를 실행할 수 있도록 다음 경로를 쉘 초기화 파일에 추가

export PATH=$PATH:$HOME/.poetry/bin

간단한 사용방법

설치 이후 간단하게 하나의 프로젝트를 생성하여 사용방법을 알아보자.

프로젝트 생성

poetry new 프로젝트명

프로젝트 생성을 원하는 경로에 해당 명령어를 입력하여 프로젝트를 생성한다.

pyproject.toml

프로젝트가 생성되면 pyproject.toml가 생성되는데 해당 파일은 프로젝트의 의존성을 조율해주는 파일이기에 가장 중요하다.

패키지를 설치하면 자동으로 해당 파일에 입력된다.


가상환경

poetry로 가상환경을 만들고 사용할 수 있다.

설치

poetry env use 파이썬경로

원하는 버전이 있는 파이선의 경로를 직접 지정해주면 된다
( ex. C:\Users\Programs\Python\Python38\python.exe )

정보보기

poetry env info

가상환경 진입

poetry shell

가상환경 종료

exit

exit만 작성하면 되며, 꼭 종료전에 해주자.

가상환경 리스트 보기

poetry env list

가상환경 삭제하기

poetry env remove 파이선경로

poetry 명령어 정리

new

poetry new 프로젝트명

새로운 프로젝트 생성

init

poetry init

pyproject.toml 파일을 인터렉티브하게 만들 수 있음.

update

# 패키지 업데이트
poerty update
# 하나씩 지정해서 업데이트도 가능
poetry update requests toml
# 업데이트는 하지 않고 poetry.lock 만 업데이트
poerty update --lock

의존성 패키지의 버전을 업데이트하고 poetry.lock파일을 업데이트 한다.

add

poetry add django

# 개발환경에서 필요한 패키지 설치
poetry add pytest factory-boy --dev

# 버전을 지정가능
poetry add django@^3.0.0
poetry add "django=3.0.0"

# 최신버전을 설치
poetry add django@latest

# 깃 저장소에 있는 패키지 설치
poetry add git+https://github.com/django/django.git

# 깃 저장소의 패키지에서 브랜치를 지정
poetry add git+https://github.com/django/django.git#stable/2.2.x

# 로컬에 디렉토리의 파일로 설치하기
poetry add ./my-package/
poetry add ./my-package/dist/my-package-0.1.0.tar.gz
poetry add ./my-package/dist/my-package-0.1.0.whl

django 패키지 설치로 예를 들었으며, 패키지 추가 후 pyproject.toml에 추가된다.

remove

poetry remove django

설치된 패키지 삭제

show

# 설치된 모든 패키지를 보여준다.
poetry show

# 개발환경용 제외하고 보여준다.
poetry show --no-dev

# 특정패키지를 지정하면 상세내용을 보여줍니다.
poetry show django

# 최신 버전을 보여준다.
poetry show --latest (-l)

# 업데이트를 해야하는 패키지들을 보여준다.
poetry show --outdate (-o)

# 의존성 트리를 보여준다.
poetry show --tree

build

poetry build

소스를 배포가능한 형태로 빌드한다.

run

poetry run python manage.py runserver

프로젝트의 virtualenv에 커맨드를 전달하여 실행시킨다.

post-custom-banner

0개의 댓글