Search

[python] poetry ๊ฐ€์ƒํ™˜๊ฒฝ ์„ธํŒ…

ํƒ€์ž…
๊ฐœ๋ฐœ
ํƒœ๊ทธ
python
์ƒํƒœ
Published
์ƒ์„ฑ์ผ
2022/05/16 04:29
์ตœ์ข… ํŽธ์ง‘ ์ผ์‹œ
2023/02/24 11:35
2 more properties

poetry ๋ž€?

ํŒจํ‚ค์ง•/์˜์กด์„ฑ ๊ด€๋ฆฌ + ๊ฐ€์ƒํ™˜๊ฒฝ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ํˆด์ž…๋‹ˆ๋‹ค.
๋น„์Šทํ•œ ๊ฒƒ์€ pipenv ๊ฐ€ ์žˆ๋Š”๋ฐ ๋‘˜ ๋‹ค ์จ๋ณธ ๊ฒฐ๊ณผ ํฐ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ poetry ๊ฐ€ ์ข€ ๋” ๊ฐ€๋ฒผ์šด ๋Š๋‚Œ์ด ๋“ญ๋‹ˆ๋‹ค.

์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

์˜์กด์„ฑ๊ด€๋ฆฌ

js ๋ฅผ ์ฃผ๋กœ ์จ์˜จ ์ €์—๊ฒŒ ํŒŒ์ด์ฌ์˜ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋Š” ์ƒ๋‹นํžˆ ๋นˆ์•ฝํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ requirements.txt ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜‘์—… ์‹œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์—ฌ์ง€๊ฐ€ ์ข€ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜์กด์„ฑ ๊ด€๋ฆฌํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ•ด๊ฒฐํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒํ™˜๊ฒฝ

ํŒŒ์ด์ฌ์˜ ๋‚ด์žฅ venv ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ธดํ•˜์ง€๋งŒ ๋งค ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์„ธํŒ…ํ•˜๊ธฐ๊ฐ€ ์€๊ทผํžˆ ๊ท€์ฐฎ์Šต๋‹ˆ๋‹ค.
poetry ๋ฅผ ์“ฐ๋ฉด ์ปค๋งจ๋“œ ํ•œ ์ค„๋กœ ์„ธํŒ…์ด ๊ฐ€๋Šฅํ•ด์„œ ๋” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
์˜คํ”ˆ์†Œ์Šค์˜ ๊ฒฝ์šฐ ๋ฒ„์ „๋งˆ๋‹ค ์„ค์น˜๋ฐฉ์‹์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ค์น˜๋ฐฉ๋ฒ•์€ ์ œ ํฌ์ŠคํŒ…์„ ๋„ˆ๋ฌด ๋ฏฟ์ง€ ๋งˆ์‹œ๊ณ  ๋ฐ˜๋“œ์‹œ ๊ณต์‹ documetation ์„ ๋ณด๊ณ  ์„ค์น˜ํ•˜๋„๋ก ํ•ฉ์‹œ๋‹ค!
( macOS ํ™˜๊ฒฝ poetry 1.1.13 ๋ฒ„์ „ (2022/05/16) ๊ธฐ์ค€์œผ๋กœ ์„ค์น˜ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.)

์„ค์น˜

macOS / linux
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Bash
๋ณต์‚ฌ
์„ค์น˜ ํ™•์ธ
ํ„ฐ๋ฏธ๋„ ๋‹ค์‹œ ์‹œ์ž‘ ํ›„ ๋ช…๋ น์–ด poetry --version
๋ฒ„์ „ ์—…๋ฐ์ดํŠธ
poetry self update
Bash
๋ณต์‚ฌ

poetry ํ”„๋กœ์ ํŠธ ์„ธํŒ…

poetry init
Bash
๋ณต์‚ฌ
npm ์˜ npm init ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค.
npm init ์„ ํ•˜๊ฒŒ๋˜๋ฉด package.json ์ด ์ƒ๊ธฐ๋“ฏ์ด,
poetry init ์„ ํ•˜๊ฒŒ ๋˜๋ฉด pyproject.toml ์ด๋ผ๋Š” ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ์˜ ๋ฉ”ํƒ€์ •๋ณด์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

poetry ๊ฐ€์ƒํ™˜๊ฒฝ

poetry shell
Bash
๋ณต์‚ฌ
ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ์ด ์ƒ์„ฑ๋˜๊ณ  activate ๋ฉ๋‹ˆ๋‹ค.
poetry init ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์—๋งŒ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ข…๋ฃŒ์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด exit ์ด๋‚˜ deactivate ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
poetry ์—์„œ ์ง€์›ํ•˜๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์— ๊ด€ํ•œ ๋” ๋งŽ์€ ๋ช…๋ น์–ด์™€ ๊ธฐ๋Šฅ๋“ค์€ ์•„๋ž˜ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด๋ณด์„ธ์š”

ํŒจํ‚ค์ง€ ์„ค์น˜

install ์ด ์•„๋‹ˆ๋ผ add ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์šฉ ํŒจํ‚ค์ง€์ผ๋•Œ๋Š” --dev ๋ช…๋ น์–ด๋ฅผ ๋ถ™ํ˜€์ค๋‹ˆ๋‹ค.
poetry add ํŒจํ‚ค์ง€๋ช… poetry add --dev ํŒจํ‚ค์ง€๋ช… # ๊ฐœ๋ฐœ์šฉ ํŒจํ‚ค์ง€
Bash
๋ณต์‚ฌ
pyproject.toml ์„ ํ™•์ธํ•ด๋ณด๋ฉด ์œ„์—์„œ ์„ค์น˜ํ•œ requests ํŒจํ‚ค์ง€๊ฐ€ ์ถ”๊ฐ€๋ผ์žˆ์Šต๋‹ˆ๋‹ค.
requirements.txt ๋Š” ํŒจํ‚ค์ง€ ์„ค์น˜ ์‹œ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๊ฐ€ ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋™์œผ๋กœ ํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ
์•ž์œผ๋กœ๋Š” ๋งค๋ฒˆ pip freeze > requirements.txt ๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.