파이썬의 패키지 관리는 까다롭기로 악명 높다. Node의 경우에는 당장 npm만 사용하더라도 정말 쾌적한 경험을 선사하지만, 파이썬의 경우에는 온갖 뒤죽박죽인 데다, 파이썬 버전마다 호환성도 제각각이고, 가상환경을 제공하는 앱도 정말 많아 어느 것을 사용해야 할지 결정하기 어렵다.
파이썬 가상 환경, 패키지 매니저 정리(venv, poetry, pipvenv...)
개인적으로 추천하는 방식은 아예 개발환경부터 Docker을 사용해서 가상환경을 만들거나, 간단하게 venv를 사용하거나, Poetry를 사용하는 것이다. 최근에 사용하는 방식은 Poetry를 개발환경에서 쓰되, 배포 시에는 requirements.txt를 추출해서 배포하는 방식인데, 이번 Django Basic 시리즈에서 사용할 프로젝트도 다음과 같은 방식을 사용할 예정이다.
Poetry를 이용해 가상환경 구성하기
Poetry는 패키지매니저와 가상환경을 둘 다 같이 사용할 수 있게 해 주고, 파이썬 버전을 포함해 여러 버전 호환성들을 편리하게 관리하게 도와주는 앱이다. 아래로 Poetry 설치법부터 시작하여 간단한 사용방법을 소개한다.
아래와 같은 방식으로 Poetry를 설치할 수 있다.
# Poetry 설치 (Homebrew)
brew install poetry
# Poetry 설치 (Linux, MacOS)
curl -sSL https://install.python-poetry.org | python3 -
# Poetry 설치 (Window Powershell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
이후 Poetry를 다음과 같이 이용하여 프로젝트를 생성할 수 있다. 프로젝트의 이름은 django-basic이다.
# /django-basic
> poetry init
This command will guide you through creating your pyproject.toml config.
Package name [django-basic]: >
Version [0.1.0]: >
Description []: >
Author [devMuromi <devmuromi@gmail.com>, n to skip]: >
License []: >
Compatible Python versions [^3.11]: >
Would you like to define your main dependencies interactively? (yes/no) [yes] >
You can specify a package in the following forms:
- A single name (requests): this will search for matches on PyPI
- A name and a constraint (requests@^2.23.0)
- A git url (git+https://github.com/python-poetry/poetry.git)
- A git url with a revision (git+https://github.com/python-poetry/poetry.git#develop)
- A file path (../my-package/my-package.whl)
- A directory (../my-package/)
- A url (https://example.com/packages/my-package-0.1.0.tar.gz)
Package to add or search for (leave blank to skip): > django > 0
Enter the version constraint to require (or leave blank to use the latest version): >
Using version ^4.2.3 for Django
Add a package (leave blank to skip): >
Would you like to define your development dependencies interactively? (yes/no) [yes] no
Do you confirm generation? (yes/no) [yes] >
위와 같이 대부분 엔터로 스킵하고 패키지에 django만 추가해 주면 간단히 프로젝트를 생성할 수 있다.
파이썬 버전 3.11, 장고버전 4.2.3으로 생성이 되었는데, 프로젝트 생성을 마쳤으면 다음 명령어로 Poetry 가상환경 내에서 패키지를 설치하고 프로그램을 실행할 수 있다.
# 아래 명령어로 poetry에 프로젝트에 추가한 패키지들을 설치합니다.
poetry install
'서버(Server) > 장고 (Django)' 카테고리의 다른 글
[Django Basic] 1.3. manage.py, django-admin (0) | 2023.07.15 |
---|---|
[Django Basic] 1.2. 장고 앱 배포하기 (0) | 2023.07.15 |
[Django Basic] 1. Hello Django, Project, App (0) | 2023.07.06 |
[Django Basic] 0. Django Basic을 시작하며 (0) | 2023.07.05 |
Django SECRET_KEY 새로 생성하기 (0) | 2023.06.23 |