Recent Posts
Recent Comments
Archives
๋ฐ˜์‘ํ˜•
250x250
ยซ   2024/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Today
Yesterday

Total
04-29 05:43
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hey Tech

[Python] pipenv ๋“ฑ์žฅ๋ฐฐ๊ฒฝ, ์„ค์น˜, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

SW ๊ฐœ๋ฐœ/Python

[Python] pipenv ๋“ฑ์žฅ๋ฐฐ๊ฒฝ, ์„ค์น˜, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•

Tony Park 2022. 3. 2. 08:12
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ”ญ ํฌ์ŠคํŒ… ๊ฐœ์š”

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

๐Ÿ“š ๋ชฉ์ฐจ

1. pipenv ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ
    1.1.  Summary
    1.2.  ์ƒ์„ธ ์„ค๋ช…
        1.2.1.  pip
        1.2.2.  ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ
2.  pipenv ์†Œ๊ฐœ
3.  pipenv ์„ค์น˜
4.  ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
5.  ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰
6.  ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์‹คํ–‰
7.  Pipfile ํŒŒ์ผ ์†Œ๊ฐœ
8.  ํŒจํ‚ค์ง€ ์„ค์น˜
9.  Pipfile.lcok ํŒŒ์ผ ์†Œ๊ฐœ
10.  ๊ฐ€์ƒํ™˜๊ฒฝ ๋น„ํ™œ์„ฑํ™”
11.  ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ญ์ œ
12.  pipenv ๋ชจ๋“ˆ ๊ธฐ๋Šฅ

1. pipenv ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

1.1. Summary

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, pipenv๋Š” pip์™€ ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ์˜ 2๊ฐ€์ง€ ๋ฌธ์ œ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.

1) pip๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์ผ์ผ์ด ์„ค์น˜ํ•˜๊ธฐ ๋ฒˆ๊ฑฐ๋กญ๋‹ค.
2) ๊ธฐ์กด ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ๋“ค์˜ ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์€ ํ•ญ์ƒ ์•ˆ์ •์ ์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

1.2. ์ƒ์„ธ ์„ค๋ช…

๊ทธ๋Ÿผ ์ด์ œ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ pipenv ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ 2๊ฐ€์ง€ ํˆด์ธ pip์™€ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ฐœ๋…๊ณผ ๋ฌธ์ œ์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

1.2.1. pip

๋จผ์ €, pip๋Š” ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํˆด์ž…๋‹ˆ๋‹ค. pip๋กœ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๋•Œ๋Š” 2๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ์ ์€ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฒ„์ „๋งˆ๋‹ค ๊ฐ™์€ ํŒจํ‚ค์ง€๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ™์€ ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”. ๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ์ ์€ ํŒจํ‚ค์ง€ ์„ค์น˜์˜ ๋ฒˆ๊ฑฐ๋กœ์›€์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ์ผ์ผ์ด ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๊ฐ„ ๋ฒˆ๊ฑฐ๋กญ๊ณ  ๋ถˆํ•„์š”ํ•œ ์‹œ๊ฐ„ ์†Œ๋ชจ๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

1.2.2. ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ

pip๋งŒ์„ ํ™œ์šฉํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ(์ฆ‰, ๊ฐ€์ƒ ํ™˜๊ฒฝ)์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Python 3.7.4 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” A, B ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋ฉด A ํ”„๋กœ์ ํŠธ์˜ pandas ํŒจํ‚ค์ง€๋Š” 1.4.1 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ , B ํ”„๋กœ์ ํŠธ์—์„œ๋Š” 1.4.0 ๋ฒ„์ „์ด pandas๋ฅผ ๋ฌธ์ œ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ์—๋Š” virtualenv, venv, anaconda, pyvenv ๋“ฑ์œผ๋กœ ๋‹ค์–‘ํ•˜์ฃ . venv๋ฅผ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์•ž์„œ pip๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ํŒจํ‚ค์ง€๋ฅผ ์ผ์ผ์ด ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กœ์šธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๊ฐ„ ์†Œ๋ชจ๊ฐ€ ํฌ๋‹ค๊ณ  ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด venv ๋ชจ๋“ˆ์—๋Š” requirement.txt๋ผ๋Š” ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์„ค์น˜๋œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก๊ณผ ๋ฒ„์ „์„ ํ•ด๋‹น ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ž๋™์œผ๋กœ ๊ธฐ๋กํ•ด ์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ, requirement.txt์— ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์ง€ ์•Š๊ณ  ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด, ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๊ฐ™์€ ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์•ˆ์ •์„ฑ ๋ฐ ์ •ํ™•์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒจํ‚ค์ง€๋งˆ๋‹ค ์ •ํ™•ํ•œ ๋ฒ„์ „์„ ์ผ์ผ์ด ๊ธฐ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์— ์žˆ์–ด ๋˜๋‹ค์‹œ ๋ฒˆ๊ฑฐ๋กœ์›€๊ณผ ์‹œ๊ฐ„ ๋‚ญ๋น„๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ ์…ˆ์ž…๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ pip์™€ ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด pipenv๊ฐ€ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.

2. pipenv ์†Œ๊ฐœ

pipenv๋Š” ํŒŒ์ด์ฌ์—์„œ ๊ณต์‹์œผ๋กœ ๊ถŒ์žฅํ•˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํˆด์ž…๋‹ˆ๋‹ค. pipenv์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1) ํŒจํ‚ค์ง€ ์„ค์น˜์™€ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์‚ฌ์šฉ์„ ์œ„ํ•ด pip์™€ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๋ชจ๋“ˆ์„ ๋”ฐ๋กœ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค.
2) ํŒจํ‚ค์ง€ ๊ธฐ๋ก ํŒŒ์ผ(e.g., venv ๋˜๋Š” virtualenv์˜ requirement.txt)๋กœ Pipfile๊ณผ Pipfile.lock์„ ์‚ฌ์šฉํ•œ๋‹ค.
3) lock ํŒŒ์ผ์˜ ์ž๋™ Hash(=ํ…์ŠคํŠธ๋ฅผ ์ž„์˜์˜ ์•”ํ˜ธํ™”๋œ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜)๋กœ ์•ˆ์ „ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
4) Dependency Graph ์‹œ๊ฐํ™” ๊ธฐ๋Šฅ ์ œ๊ณต(๋ช…๋ น์–ด: pipenv graph)
5) ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ Pipfile ํŒŒ์ผ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋œ๋‹ค.

3. pipenv ์„ค์น˜

pipenv๋Š” ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pip install pipenv

4. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ

๊ฐ€์ƒํ™˜๊ฒฝ์œผ๋กœ ์‚ฌ์šฉํ•  ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ํด๋” ์•ˆ์œผ๋กœ ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

mkdir ํด๋”์ด๋ฆ„ && cd ํด๋”์ด๋ฆ„


๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜์‹ค ํŒŒ์ด์ฌ ๋ฒ„์ „๋„ ํ•จ๊ป˜ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”.

pipenv --python 3.x

pipenv ๊ธฐ๋ฐ˜ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ

5. ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰

๊ฐ€์ƒ ํ™˜๊ฒฝ Shell์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

pipenv shell

์•„๋ž˜์™€ ๊ฐ™์ด ํ„ฐ๋ฏธ๋„ ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ์ฐฝ ๋งจ ์•ž์— ๊ด„ํ˜ธ ์•ˆ์— ์‹คํ–‰ํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ์ด๋ฆ„์ด ๋‚˜ํƒ€๋‚˜๋ฉด ์ œ๋Œ€๋กœ ์‹คํ–‰๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰ ํ™•์ธ

6.  ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์‹คํ–‰

๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ๋˜๋Š” ์ฃผํ”ผํ„ฐ ๋žฉ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”!

https://heytech.tistory.com/324

 

[Python] Jupyter Notebook(Lab)์— ๊ฐ€์ƒํ™˜๊ฒฝ ์ปค๋„ ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ(๋˜๋Š” ๋žฉ)์— ๊ฐ€์ƒํ™˜๊ฒฝ ์ปค๋„(Kernel)์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™˜๊ฒฝ ๋ชจ๋“ˆ๋กœ๋Š” ํŒŒ์ด์ฌ์—์„œ ๊ณต์‹์œผ๋กœ ๊ถŒ์žฅํ•˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํˆด์ธ pipenv๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต

heytech.tistory.com

7.  Pipfile ํŒŒ์ผ ์†Œ๊ฐœ

Pipfile์€ ํ•ด๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ์— ์„ค์น˜๋œ ํŒŒ์ด์ฌ ๋ฒ„์ „, ํŒจํ‚ค์ง€๋ณ„ ์ด๋ฆ„๊ณผ ๋ฒ„์ „์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. pipenv ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ํ•ด๋‹น์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์„ค์น˜ํ•˜๋ฉด Pipfile.lock ํŒŒ์ผ์ด ์ƒ๊น๋‹ˆ๋‹ค. ํ•ด๋‹น ํŒŒ์ผ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜ 8๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

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

์ผ๋ฐ˜์ ์œผ๋กœ pipenv ํ™˜๊ฒฝ์—์„œ๋Š” pipenv install ๋ช…๋ น์–ด๋กœ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pipenv install ํŒจํ‚ค์ง€๋ช…

์˜ˆ๋ฅผ ๋“ค์–ด, pandas ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

pipenv install pandas

pipenv๋ฅผ ํ†ตํ•ด ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ ํ›„, Pipfile์„ ์—ด์–ด๋ณด์‹œ๋ฉด packages ๋ฆฌ์ŠคํŠธ์— ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

package ์„ค์น˜๋œ ๋ชจ์Šต

packages์™€ dev-packages ๊ฐ„์˜ ์ฐจ์ด

์ž ๊น, [packages]์™€ [dev-packages] ๊ฐ„์˜ ์ฐจ์ด๋Š” ๋ญ˜๊นŒ์š”? ์ด๋Š” Node.js์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ์— ์žˆ์–ด dependencies์™€ devDependencies ๊ฐ„์˜ ์ฐจ์ด์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. packages(i.e., dependencies)๋Š” ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ๋ฆฌ์ŠคํŠธ๋กœ, ํ”„๋กœ๊ทธ๋žจ์„ ์‹ค์ œ ๋ฐฐํฌํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ํŒจํ‚ค์ง€ ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ, dev-packages(i.e., devDependencies)๋Š” ๊ฐœ๋ฐœ์ด๋‚˜ ํ…Œ์ŠคํŠธ ์‹œ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๋ฐ ์ง์ ‘์ ์ธ ์—ฐ๊ด€์€ ์—†์œผ๋ฉฐ, ๊ฐœ๋ฐœ์ด๋‚˜ ํ…Œ์ŠคํŠธ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ‚ค์ง€ ๋ฆฌ์ŠคํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ ๋ฐฐํฌ ์‹œ ํ•ด๋‹น ํŒจํ‚ค์ง€๋Š” ํฌํ•จ์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด, ํ”„๋กœ๊ทธ๋žจ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ผญ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋งŒ ํฌํ•จ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํŒจํ‚ค์ง€ ์šฉ๋„๋ฅผ ๊ตฌ๋ถ„ํ•ด ๋†“์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

9.  Pipfile.lcok ํŒŒ์ผ ์†Œ๊ฐœ

ํŒจํ‚ค์ง€๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์„ค์น˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Pipfile.lock์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ์„ค์น˜๋กœ ์ธํ•œ Pipfile.lock ํŒŒ์ผ ์ž๋™ ์ƒ์„ฑ

์•ž์„œ pipenv์˜ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๊ฐ€ ํŒจํ‚ค์ง€ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ Hash๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ์•ˆ์ •์„ฑ์ด ์ข‹๋‹ค๊ณ  ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด Pipfile.lock ํŒŒ์ผ์„ ์—ด์–ด๋ณด์‹œ๋ฉด Pipfile๊ณผ ๋‹ค๋ฅด๊ฒŒ ํ…์ŠคํŠธ๊ฐ€ ์•”ํ˜ธํ™”๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Pipfile.lcok ํŒŒ์ผ: Hash ์ž๋™ ์ƒ์„ฑ

10.  ๊ฐ€์ƒํ™˜๊ฒฝ ๋น„ํ™œ์„ฑํ™”

๊ฐ€์ƒํ™˜๊ฒฝ์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„œ exit์„ ์ž…๋ ฅํ•˜๋ฉด ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

exit

11.  ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ญ์ œ

pipenv ๋’ค์— --rm ์˜ต์…˜์„ ์ž…๋ ฅํ•˜๋ฉด ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pipenv --rm

๊ฐ€์ƒํ™˜๊ฒฝ ์‚ญ์ œ

12.  pipenv ๋ชจ๋“ˆ ๊ธฐ๋Šฅ

pipenv ๋ชจ๋“ˆ์€ ๋‹ค์–‘ํ•˜๊ณ  ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์— ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฉ”๋‰ด์–ผ์„ ๊ณต์œ ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

pipenv ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ฐ ๊ธฐ๋Šฅ ๋ฆฌ์ŠคํŠธ


์˜ค๋Š˜์€ pipenv์˜ ๋“ฑ์žฅ๋ฐฐ๊ฒฝ, ์„ค์น˜๋ฐฉ๋ฒ• ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.
ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด ๊ณ ๋ฏผ ์—†์ด pipenv๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
ํฌ์ŠคํŒ… ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ์ฆ๊ฒ๊ณ  ๊ฑด๊ฐ•ํ•œ ํ•˜๋ฃจ ๋ณด๋‚ด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค :)
๊ณ ๋ง™์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
Comments