๐ฉ๐ป๐ป Programming (18) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [mac-m1] install ์๋ฌ(Error: Cannot install under Rosetta 2) โช๏ธsolution code # error brew install yarn # solution arch -arm64 brew install yarn โช๏ธerror message Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! ์ค๋ฅ: ARM ๊ธฐ๋ณธ ์ ๋์ฌ(/opt/homebrew)์ Rosetta 2 ์๋์ ์ค์นํ ์ ์์ต๋๋ค! m1์นฉ์ผ๋ก ์ฌ๊ณ ๋์ ์ข ์ข ์ด๋ฌํ ์๋ฌ๋ฅผ ๋ง์ฃผ์ณค๋ค. arch -arm64 ๋ช ๋ น์ด๋ง ์์ ์ถ๊ฐํด์ฃผ๋ฉด ์ค์น๊ฐ ๋ฐ๋ก ๋๋ฒ๋ฆฐ๋ค. ๐ ๊ฒฝ๋ก์ฐจ์ด์ธ ๊ฒ ๊ฐ์๋ฐ, ์๋ฌ ๋ฉ์ธ์ง์๋ ์น์ ํ๊ฒ ๋ง์ ํด์ค์ ๋๋ฌด ์ข๋ค. [React] mac ๊ฐ๋ฐํ๊ฒฝ ์ธํ : node.js, npm ์ค์น โช๏ธNode.js๋ ๊ณต์ ํํ์ด์ง๋ฅผ ๋ณด๋ฉด "Node.js®๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ ๋๋ค."๋ผ๊ณ ์ ์ํ๊ณ ์๋ค. * ๋ฐํ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์ ๋งํจ ์ฝ๋์ ๊ฐ์๋ฅผ ๋ค์ ๋ด์ฉ์ ์ธ์ฉํ์ฌ ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, ์๋ฐ ์คํฌ๋ฆฝํธ๋ ๋ธ๋ผ์ฐ์ ๋ด์์๋ง ์คํ์ด ๊ฐ๋ฅํ๋ฐ ๋ธ๋ผ์ฐ์ ๋ฐ์์๋ ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ๊ฐ๋ฅํ๊ฒ ๋์์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก Node.js ์ด๋ค! ํ๋ก ํธ์๋์์๋ ๋ณด์กฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค๊ณ ํ๋ฉฐ, ์์ธํ ๋ด์ฉ์ ์ถํ ํ์ตํด์ผ๊ฒ ๋ค. ์ฐธ๊ณ ๋ก npm์ Node Package Manager์ ์ฝ์๋ก, ๋ง ๊ทธ๋๋ก node js์์ ์คํํ ํจํค์ง๋ฅผ ๊ด๋ฆฌํ๊ณ ์คํํ๋ ๋๊ตฌ์ด๋ค. ์์ธํ ๋ด์ฉ์ ์ํค๋ฐฑ๊ณผ Node.js ์ฐธ๊ณ . โช๏ธNode.js ์ค์น ๋๋ ์์ ์ฑ๊ณผ.. [Django] ์ ์ ์์คํ : ๋์ฅ๊ณ ํ๋ก์ ํธ ์์์ ์ํ pre setting ๋จ๊ณ๋ณ ์ ๋ฆฌ ๐ ๋์ฅ๊ณ ์ ๋ํ ๊ธฐ์ด์ ์ธ ๋ด์ฉ์ ๋ค๋ฅธ ํฌ์คํ ์ ์ฐธ๊ณ !(๊ธ ์ ์ผ ํ๋จ์ ์ ๋ฆฌํด๋์์ต๋๋ค) django.contrib.auth, django-allauth์ ๋ํ ๋ด์ฉ์ ์ถํ ํฌ์คํ ์์ :) 1๏ธโฃ์ฌ์ ์ค๋น 1. ํด๋ ๋ง๋ค๊ธฐ mkdir {ํด๋ ์ด๋ฆ} example) mkdir django-coplate ๋์ฅ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ณต๊ฐ 2. ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ pyenv virtualenv {ํ์ด์ฌ ๋ฒ์ } {๊ฐ์ํ๊ฒฝ ์ด๋ฆ} example) pyenv virtualenv 3.9.10 django_coplate_env ์์ฑ ํ ์ค์น๋ python ๋ฒ์ ๋ฐ ํ๊ฒฝ ํ์ธ : pyenv versions 3. ๊ฐ์ํ๊ฒฝ ์ง์ 1์์ ๋ง๋ค์ด์ค ํด๋๋ก ์ด๋ ํ ๋ช ๋ น์ด ์ ๋ ฅ pyenv local {๊ฐ์ํ๊ฒฝ ์ด๋ฆ} pyenv loc.. [Error] Django django.db.utils.OperationalError: no such table: ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ๋ฉ์ธ์ง ๋ง์ง๋ง์ ํ ์ด๋ธ์ด ์๋ค. ์ฆ, ์ฅ๊ณ ์ sqlite DB์ ํด๋น ํ ์ด๋ธ์ด ์์ด์ ๋ฐ์ํ ์๋ฌ์ด๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค. ์์ฃผ ๊ฐ๋จํ ์๋ฌ์ด๋ ์ฒ์ ์ฅ๊ณ ๋ฅผ ์ ํ ๋๋ ๋นํฉ์ค๋ฌ์ธ ์ ์๋ ๋ด์ฉ์ด๋ผ ๊ธฐ๋กํ์๋ค. โError Message # ์์ฑํ ์ฝ๋ python manage.py shell (InteractiveConsole) >>> from menus.models import Menu >>> Menu.objects.all() # ์๋ฌ ๋ฉ์ธ์ง Traceback (most recent call last): ... django.db.utils.OperationalError: no such table: menus_menu โ๏ธsolution code python manage.py m.. [Error] Django makemigrations : DB new column ์ถ๊ฐ ํ ๋ฐ์ Django์์ ์ต์ด์ makemigrations์ ํ ํ, ์ ์ปฌ๋ผ์ ์ถ๊ฐํ๊ณ ๋ค์ makemigrations์ ์๋ํ๋ฉด์ ์๊ธด ์๋ฌ์ด๋ค. โError Message >> python manage.py makemigrations You are trying to add a non-nullable field 'name_eng' to menu without a default; we can't do that (the database needs something to populate existing rows). Please select a fix: 1) Provide a one-off default now (will be set on all existing rows with a null value for thi.. [Django] Project์ App ๊ตฌ์กฐ & Reusable App ๐ Django ์น ๊ฐ๋ฐ์ ์ ์ ์๊ฒ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ธ ํ๋ก ํธ์๋์ ๋ฐ์ดํฐ์ ๋ก์ง์ ๋ด๋นํ๋ ๋ฐฑ์๋๊ฐ ์์ผ๋ฉฐ, Django๋ ๋ชจ๋ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ ํ์คํ ํ๋ ์์ํฌ๋ฅผ ๋งํจ ๐ Project vs App Project : ์น ์๋น์ค ์ ์ฒด App : ๊ธฐ๋ฅ์ ๋ํ๋ด๋ ๋จ์ (example: ํ์๊ฐ์ , ์ฅ๋ฐ๊ตฌ๋๋ด๊ธฐ, ๊ตฌ๋งคํ๊ธฐ ๋ฑ) โช๏ธProject ๊ตฌ์กฐ ์ฅ๊ณ ์์ ํ๋ก์ ํธ๋ ์น์ฌ์ดํธ๋ฅผ ๋งํจ 1. Project Root ์ต์์ ๋๋ ํ ๋ฆฌ์ธ ํ๋ก์ ํธ ๋ช ๋๋ ํ ๋ฆฌ ํ๋ก์ ํธ์ ์ ์ฒด ํ์ผ์ด ๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ 2. manage.py ํ๋์ Django ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ช ๋ น ์ ํธ๋ฆฌํฐ Django ์ฑ ์์ฑ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๊ธฐ๋ฅ์ ์ํ, ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์คํ ๋ฑ์ ์๋ฌด์ํ ํ๋ก์ ํธ๋ฅผ ์์ฑ.. [Django & ๊ฐ์ํ๊ฒฝ] pyenv ๋ช ๋ น์ด ๋ชจ์ ๋ฐ ๊ฐ๋ ์ ๋ฆฌ โช๏ธpython tool 1. pyenv ํ์ด์ฌ ๋ฒ์ ๊ด๋ฆฌ ํด ํ๋์ ์ปดํจํฐ์ ๋ค์ํ ํ์ด์ฌ ๋ฒ์ ์ค์น ๋ฐ ๊ด๋ฆฌ pyenv git hub documentation 2. pyenv-vitrualenv ํ์ด์ฌ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํ๋ ํด์ธ virtualenv์ pyenv ํ๋ฌ๊ทธ์ธ pyenv-vitrualenv git hub documentation 3. pip ํ์ด์ฌ ํจํค์ง ์ค์น ๋ฐ ๊ด๋ฆฌ ํด pip documentation v22.0.4 โช๏ธglobal & local 1. global ๊ฐ์ํ๊ฒฝ ์์คํ ์ ์ญ์ ์ ์ฉํ๋ ํ๊ฒฝ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง์์ผ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก global ๊ฐ์ํ๊ฒฝ ์ฌ์ฉ 2. local ๊ฐ์ํ๊ฒฝ ํน์ ๋๋ ํ ๋ฆฌ ๋ด๋ถ์์๋ง ์ ์ฉ๋๋ ํ๊ฒฝ global ํ๊ฒฝ์ด ์ง์ ๋์ด์๋๋ผ๋ ๋ฌด์ํ๊ณ , local ํ๊ฒฝ์ด ์ ์ฉ(์ฐ.. [Django & ๊ฐ์ํ๊ฒฝ] pyenv ์ค์น ๋ฐ ํ๊ฒฝ ์ค์ (feat.mac M1) โช๏ธError message Django ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ํด pyenv, pyenv-virtualenv๋ฅผ ์ค์นํ๋ ค๊ณ ํ์์ผ๋ M1์ด๋ผ ๋ค์๊ณผ ๊ฐ์ Error๋ฅผ ์ง๋ฉดํ์์ต๋๋ค. - ์๋ฌ ๋ฉ์ธ์ง ํ์ธ Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ... To install under x86_64, install Homebrew into /usr/local. ์ฐธ๊ณ ๋ก ์ mac์ MacBook Pro(14ํ, 2021๋ ๋ชจ๋ธ)๋ก, Apple M1 Pro์นฉ์ด ๋ด์ฅ๋์ด์์ต๋๋ค.๐ โช๏ธsolution ๊ฐ๋จํ์ง๋ง, ์๋ฌ๋ฉ์ธ์ง์ ์ ํ๋๋ก .. ์ด์ 1 2 3 ๋ค์