Tech ๐Ÿ’ป

Python ํ™˜๊ฒฝ์„ธํŒ… in Mac ๐ŸŽฒ Anaconda + Jupyter Lab, VSCode, PyCharm

Shooter Bruce 2023. 6. 21. 14:09

Prologue) Python ๊ธฐ๋ณธ ๊ณต๋ถ€ ์‹œ์ž‘

์˜ค๋ž˜์ „ ํ˜ธ๊ธฐ์‹ฌ์œผ๋กœ Python ์„ค์น˜ํ•ด์„œ ์กฐ๊ธˆ ํ•ด๋ณด๋‹ค ๋ง์•˜์—ˆ๋Š”๋ฐ ๋‹ค์‹œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ผ๋‹จ์€ ์•„์ฃผ ๊ฐ€๋ณ๊ฒŒ ๊ธฐ๋ณธ ์ •๋„๋งŒ ์ง„ํ–‰ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ถ”ํ›„ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ชฝ์„ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ด€์‹ฌ์ด ์žˆ์–ด์„œ ์ด๋ฒˆ์— Anaconda  ๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด๊ธฐ๋กœ ๋งˆ์Œ ๋จน์—ˆ๋‹ค.

IDE ๋Š” Jupyter Lab ์„ ์จ๋ณด๊ณ  ๋ง˜์— ๋“ค์ง€ ์•Š์œผ๋ฉด VSCode (Visual Studio Code) ๋ฅผ ์จ์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ์—ˆ๋Š”๋ฐ ๊ฒฐ๋ก ์€ ์ข€ ๋‹ค๋ฅด๊ฒŒ ๋‚œ ๊ฒƒ ๊ฐ™๋‹ค..

๊ฒฐ๋ก ์€ ์ผ๋‹จ ์ œ๊ปด๋‘๊ณ , ์ˆœ์„œ๋Œ€๋กœ ๊ฐ„๋žตํžˆ ์ •๋ฆฌ ์‹œ์ž‘~

 

Anaconda ์„ค์น˜

  • ์ฐธ๊ณ  ์ •๋ณด > ๋ธ”๋กœ๊ทธ ๊ธ€
 

Anaconda ์„ค์น˜์™€ ์ตœ์‹  python ์ ์šฉ ๋ฐ vscode ์—ฐ๋™ ๋ฐฉ๋ฒ•

๊ฐ„๋งŒ์— ๊ธ€์„ ์˜ฌ๋ฆฐ๋‹ค. ์ด๋ฒˆ์— ์˜๋„์น˜ ์•Š๊ฒŒ ๋จธ์‹ ๋Ÿฌ๋‹์„ ์ง„์งœ๋กœ ํ•˜๊ฒŒ ๋ผ์„œ Anaconda๋ฅผ ๊น”์•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ตœ์‹  python์€ 3.9.2๊ณ  anaconda์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฒ„์ „์€ 3.8.5๋ผ์„œ ๋ญ”๊ฐ€ ์ฐ์ฐํ•œ ๋‚˜๋จธ์ง€ ์ตœ์‹ ์œผ๋กœ ์˜ฌ๋ ค๋ณด์ž

projecteli.tistory.com

 

  • ์ฐธ๊ณ  ์ •๋ณด > ๊ณต์‹์‚ฌ์ดํŠธ
  • Wizard ๋ฐฉ์‹๊ณผ Command ๋ฐฉ์‹์ค‘ Command ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•จ.
  • ์„ค์น˜์‹œ ์ œ์‹œ๋˜๋Š” ๋””ํดํŠธ ๊ฒฝ๋กœ๊ฐ€ ๋ง˜์— ์•ˆ๋“ค๋ฉด ์ง์ ‘ ํƒ€์ดํ•‘ ํ•˜๋ฉด ๋œ๋‹ค.

 

Anacoda ๋ช…๋ น์–ด ์ธํ„ฐํŽ˜์ด์Šค ์„ค์น˜

 

  • ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ƒ์— ์ž๋™์œผ๋กœ Anaconda Navigator ๊ฐ€ ์—ด๋ ธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒƒ์ด ์žฅ์ . ๋””ํดํŠธ๋กœbase ๋ผ๋Š” ํ™˜๊ฒฝ์ด ์„ธํŒ…๋˜๋Š”๋ฐ ๋” ์ถ”๊ฐ€ํ• ์ˆ˜ ์žˆ๋‹ค.
  • Yarn ๊ณผ ์ถฉ๋Œ์ด ์žˆ๋Š”๋ฐ ํฐ ์˜ํ–ฅ์€ ์—†์—ˆ๊ณ , Jupyter Extension ์„ค์น˜๋ฅผ ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.  ๋‚ด ๊ฒฝ์šฐ ์ด๋ฏธ Yarn ์ด ์„ค์น˜๋˜์–ด์žˆ๋Š” ์ƒํ™ฉ์ด์—ˆ๊ณ , Conda์—์„œ๋Š” Yarn ๊ณผ๊ฑฐ๋ฒ„์ ผ ๊ธฐ์ค€์ด์–ด์„œ ์—๋Ÿฌ๊ฐ€ ๋œจ๋Š”๊ฒƒ ๊ฐ™๋‹ค. Extension ์ด ํ•„์ˆ˜๋Š” ์•„๋‹Œ ์ƒํ™ฉ์ด๋ผ ๊ทธ๋ƒฅ ๋ƒ…๋’€๋‹ค.
  • Java ํ™˜๊ฒฝ ์„ธํŒ…๋„ ํ• ์ˆ˜์žˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ... Yarn ์—๋Ÿฌ๋ฅผ ๋ณด๊ณ ๋‚˜๋‹ˆ Anaconda ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์“ฐ๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ์ข€ ์‹์—ˆ๋‹ค. ์•„๋ฌดํŠผ ์ถ”ํ›„ ํ•„์š”ํ•˜๋ฉด ๊ฒ€ํ† ํ•ด๋ณผ์ˆ˜๋„ ์žˆ์„๋“ฏ
  • ์„ค์น˜ํ›„ ๊ณ„์ •๋งŒ๋“ค๋ผ๊ณ  ๋‚˜์˜ค๋Š” ๊ณผ์ •์ด ์žˆ๋Š”๋ฐ ๊ตฌ๊ธ€๋งํ•ด๋ณด๋‹ˆ ๊ตณ์ด ๊ณ„์ • ์ƒ์„ฑํ•  ํ•„์š”๋Š” ์—†๋Š”๋“ฏ

์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ Anaconda ๊ณ„์ • ์ƒ์„ฑ์€ ํ•„์š”์—†์–ด ๋ณด์ธ๋‹ค

 

Jupyter Lab ์„ค์น˜ ๋ฐ ์‹คํ–‰

CLI ์ƒ์—์„œ

jupyter-lab

์„ ํƒ€์ดํ•‘ํ•˜๋ฉด ๋˜๋Š”๋ฐ

๋‹จ ์ตœ์ดˆ์—๋Š” ์‹คํ–‰์ด ์•ˆ๋˜์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๊ธฐ์–ต๋œ๋‹ค.

 

์ผ๋‹จ ์ตœ์ดˆ์—๋Š”... 

Anaconda Navigator ํ™”๋ฉด์— ๋ณด์ด๋Š” Jupyter Lab ๋ฐ•์Šค์˜ Launcher ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๊ณ 

ํ•œ๋ฒˆ ํ•œ ์ดํ›„์—๋Š” CLI ์ƒ์—์„œ ๋ช…๋ น์–ด๋กœ ๊ฐ€๋Šฅํ–ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค.

VSCode > Python Interpreter ์„ธํŒ…

์œ„์— ์–ธ๊ธ‰ํ•œ ๋ธ”๋กœ๊ทธ ๋งํฌ์— ์„ค๋ช…์ด ์žˆ์Œ.

VSCode ์˜ ๊ฒฝ์šฐ ์ฒ˜์Œ์— ํ™˜๊ฒฝ ์„ธํŒ…์‹œ ๊ฐ ์–ธ์–ดํ™˜๊ฒฝ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€๊ฐ€ ์ž˜ ๋œํŽธ์ด๋ผ ์ด๋ฒˆ์—๋„ ๊ทธ ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.

 

 

PyCharm > Python Interpreter ์„ธํŒ…

  • ๊ฐ€์ƒํ™˜๊ฒฝ์ด Select box ์— ์ž˜ ๋‚˜ํƒ€๋‚˜๊ณ  ์žˆ์–ด์„œ ์„ ํƒํ•˜์˜€๋‹ค. ๊ธฐ์กด ํ™˜๊ฒฝ ์„ ํƒํ•˜์ง€ ์•Š๊ณ  ์‹ ๊ทœ๋กœ Conda ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด๋„ ๋จ. (PyCharm์—์„œ Python์šฉ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋•Œ ์ด ๊ณผ์ •์— ์ง„์ž…๋˜์—ˆ๋˜๊ฒƒ ๊ฐ™์Œ)

PyCharm ์—์„œ Python Interpreter ์„ธํŒ…

 

VSCode, PyCharm > Jupyter ๋“ฑ์˜ ํŒจํ‚ค์ง€ ์„ค์น˜ ํ•„์š”

  • VSCode ์—์„œ ์„ค์น˜ํ•œ Extension ์€ Python, Jupyter, Code Runner ์ž„. ๊ทผ๋ฐ ์žฌ์‹œ์ž‘ํ•ด๋„ Python ์ฝ”๋“œ ์ž๋™์™„์„ฑ์ด ์•ˆ๋˜์–ด์„œ ๋ช‡์ฐจ๋ก€ ์ข…๋ฃŒํ›„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋‹ˆ ์ฝ”๋“œ ์ž๋™์™„์„ฑ์ด ๋จ.
  • PyCharm์—์„  Jupyter ํŒจํ‚ค์ง€๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋˜์—ˆ๋‹ค.
  • ์ฐธ๊ณ ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฒ„์ ผ์—์„œ๋Š” Jupyter ํฌ๋งท ํŒŒ์ผ์€ ์ฝ๊ธฐ์ „์šฉ์œผ๋กœ๋งŒ ๋™์ž‘ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ  ์œ„ ๋™์ž‘์€ ์ƒ์šฉ ํ‰๊ฐ€ํŒ์„ ์„ค์น˜ํ•ด์„œ ํ•ด๋ณธ๊ฒƒ์ด๋‹ค.
  • PyCharm ์ฐธ๊ณ  ๋งํฌ : Jupyter notebook support
 
 

Jupyter notebook support | PyCharm

 

www.jetbrains.com

 

Epilogue) IDE ๊ฒ€ํ† ๊ฒฐ๊ณผ... ๊ฒฐ๊ตญ์€ PyCharm ์— ๋Œ๋ฆฐ๋‹ค

ํŒŒ์ด์ฐธ? ์‹œ์›ํ•œ ๐Ÿˆ ์ฐธ์™ธ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ƒ๊ฐ๋‚˜๋Š”๊ฒŒ ์ด๋ฆ„๋ถ€ํ„ฐ ๊ตฌ๋ฏธ๊ฐ€ ๋‹น๊ธด๋‹ค;;

  • Gradianto Nature Green Theme ๋ฅผ ์ ์šฉํ–ˆ๋‹ค. Black ๊ธฐ๋ฐ˜์ด Dark Theme ๋ฅ˜๋ณด๋‹ค ๋ˆˆ๋„ ํŽธํ•˜๊ณ  ๊ธฐ๋ถ„๋„ ์‚ด์ง ์—…๋œ๋‹ค. 

 

PyCharm ์—์„œ Jupyter Notebook ํฌ๋งท ํŒŒ์ผ์„ ํŽธ์ง‘, ์‹คํ–‰

 

Cell ์•ž์ชฝ์„ Command ํ‚ค๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ Cell์„ ์„ ํƒ (Cell ์„ ํƒ์€ Cell ์•ž์ชฝ์„ ํด๋ฆญํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค) ํ›„ ์‹คํ–‰ํ•ด๋ณด์•˜๋‹ค. Shfit ํ‚ค๋ฅผ ์ด์šฉํ•ด ๋‹ค ์„ ํƒํ•ด๋„ ๋˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์ผ๋ถ€๋งŒ ์„ ํƒํ•˜๋Š”๊ฒƒ๋„ ๋œ๋‹ค.  VSCode ์—์„œ๋„ ์ž˜ ๋˜๊ณ , ์•„๋งˆ Jupytor Lab ์˜ ๊ฒฝ์šฐ์—๋Š” ๋œ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ  ์•„๋‹Œ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค

 

Jupyter Lab vs VSCode vs PyCharm

๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋Š”๋ฐ์—๋Š” Jupytor Lab, VSCode, PyCharm ๊ฐ„์— ๋‹ค๋ฅธ๊ฒƒ์ด ๊ฑฐ์˜ ์—†๋Š”๊ฒƒ ๊ฐ™๋‹ค. ํŠนํžˆ ๋‚˜ ๊ฐ™์€ ์ž…๋ฌธ ์ˆ˜์ค€์—์„  ๋” ๊ทธ๋ ‡๋‹ค.

์‹ค๋ฌด๋ฅผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด Jupytor Lab๋ณด๋‹ค๋Š” VSCode ์™€ PyCharm ์ด ๋” ๋‚˜์„๊ฒƒ ๊ฐ™๋‹ค. (๊ฐœ๋ฐœ์ž ์ถœ์‹ ์ด ์•„๋‹Œ๋ฐ ํ˜„์—…์ƒ์—์„œ ์ด์šฉํ•  ๊ฒฝ์šฐ์—” Jupyter Lab ์ด ๋” ํŽธํ• ์ˆ˜๋„ ์žˆ์„๋“ฏ ํ•˜๋‹ค.)

 

VSCode์™€ PyCharm ๋น„๊ต์˜ ๊ฒฝ์šฐ ๊ฐœ์ธ์ทจํ–ฅ์— ๋”ฐ๋ผ ์˜๊ฒฌ์ด ๋‚˜๋‰ ๊ฒƒ ๊ฐ™๋‹ค.

 

๋‚ด ์ทจํ–ฅ์€... PyCharm UI๊ฐ€ ์•„์ฃผ ๋ง˜์— ๋“ ๋‹ค.
PyCharm ์„ ๋ณด๊ณ ๋‚˜๋‹ˆ VSCode ์˜ UI ๋Š” ์ด์ œ ํ™•์‹คํžˆ ์ข€ ๋œ ๋–จ์–ด์ ธ๋ณด์ธ๋‹ค.

UI ์™ธ์—๋„ PyCharm ์ด ๋‚˜์€ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋‹ค. 

  • 100kb ์— ๊ฐ€๊นŒ์šด ์กฐ๊ธˆ ์–‘์ด ๋งŽ์€ Jupyter ํŒŒ์ผ์„ ์—ด์–ด๋ณด์•˜์—ˆ๋Š”๋ฐ Jupyter Lab๊ณผ VSCode์—์„œ๋Š” ๋กœ๋”ฉ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ ธ๋Š”๋ฐ, PyCharm์—์„œ๋Š” ์ง€์—ฐ ์•„์˜ˆ์—†์ด ๋ฐ”๋กœ ์—ด๋ ธ๋‹ค.
  • ๊ทธ ์™ธ์—๋„ PyCharm ์€ (VSCode์™€ ๋‹ฌ๋ฆฌ) ํŒจํ‚ค์ง€ ์„ค์น˜ ์ดํ›„ ์˜ˆ์ƒ๋Œ€๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋ฐ”๋กœ ์‹คํ–‰์ด ๋˜์—ˆ๋‹ค.

๊ณต๋ถ€๋“  ์‹ค๋ฌด์ด๋“  ๋งŽ์ด ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด PyCharm ์˜ ์žฅ์ ๋“ค์„ ๋” ๋ˆ„๋ฆด์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

๊ถ๊ธˆํ•ด์„œ PyCharm๋„ ์„ค์น˜ํ•ด ๋ณด์•˜๋˜ ๊ฑด๋ฐ ๊ดœํžˆ ํ•œ๊ฑด๊ฐ€? ๋ถ„์ˆ˜์— ๋งž์ง€ ์•Š๊ฒŒ ๋ˆˆ๋งŒ ๋†’์•„์ง„๊ฒƒ์€ ์•„๋‹Œ์ง€ใ…Ž

 

๊ทธ๋Ÿฐ๋ฐ... All Products Pack ์œผ๋กœ ๊ตฌ๋งคํ•˜๋ฉด IntelliJ ์™€๋„ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ์œผ๋‹ˆ... ๊ณ ๋ คํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

Additional Info) ์‚ฌ์šฉํ–ˆ๋˜ ๋ช…๋ น์–ด๋“ค ์ผ๋ถ€

# Anaconda ์„ค์น˜
4471  sh ../Downloads/Anaconda3-2023.03-1-MacOSX-x86_64.sh

4478  conda list
4482  conda --version
4523  conda env list
4524  conda update -n base conda
4527  conda update --all
4528  python --version

# main ์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
4530  conda create -n main python=3.10.11

4531  conda env list

# main ์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”
4532  conda activate main

4533  jupyter-lab