[Django] 개발환경 구성하기

3 minute read


DJANGO WEB DEVELOPMENT

1. 개발환경 구성하기


사전프로그램 설치

### VSCODE 설치
# https://code.visualstudio.com/download
# VSCODE에서 COMMAND + SHIFT + P 누른후 검색 창에 'shell' 입력 후 'Shell Command: Install 'code' command in PATH 클릭

### Homebrew 설치
# https://brew.sh/index_ko 에서 Homebrew 설치하기 밑의 코드 복사한 다음에 터미널에 붙여놓기 후 Enter
# 아래 코드를 통해 brew 정상적으로 설치되었는지 확인
brew --version

### Git 설치
brew install git

# 깃에서 사용할 사용자 이름 & 이메일 설정
git config --global user.name 'ZSU'
git config --global user.email 'zs58@icloud.com'

### Git 관련 터미널 툴
# 1)TIG(깃 커밋 히스토리를 터미널에서 보여주는 툴)
brew install tig
# 2)Diff So Fancy(git diff의 출력 화면을 터미널상에서 더 보기 쉽게 출력해주는 깃 플러그인)
brew install diff-so-fancy

### Iterm2 설치
# https://iterm2.com
# 색상 테마 변경 : Preference ➡️ Profiles ➡️ Colors ➡️ Color Presets
# iTerm의 색 메타 페이지(https://github.com/mbadolato/iTerm2-Color-Schemes)를 통해 다른 색상 테마 선택 가능

### ZSH 설치
brew install zsh zsh-completions

# 설치 완료 후 default shell 변경
sudo -s 'echo /usr/local/bin/zsh >> /etc/shells' && chsh -s /usr/local/bin/zsh 

# 터미널 창을 닫고 새로 열면 ZSH이 default shell로 변경됨
# 다음 명령어를 통해 ZSH이 정상적으로 default shell로 변경됐는지 확인
echo $SHELL

# Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# .zshrc 파일 수정시 다음 명령어 입력
vim ~/.zshrc

# ZSH plugin 중 zsh-syntax-highlighting & history-substring-search 추천

# ZSH로 변경 후 CONDA가 실행되지 않는 경우, ZSH상에서 콘다의 경로를 PATH 환경 변수에 포함
export PATH="/Users/ZSU/Miniconda3/bin:$PATH"

# plugin 'zsh-autosuggestion' not found 해결
# 1) 설치(terminal)
brew install zsh-autosuggestions

# 2) 설치2(terminal)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 3) .zshrc plugin에 추가(vim ~/.zshrc)
plugins=( [plugins...] zsh-syntax-highlighting)

# 4) 업데이트(terminal)
source ~/.zshrc

# plugin 'zsh-syntax-highlighting' not found 해결
# 1) 설치(terminal)
brew install zsh-syntax-highlighting

# 2) 설치2(terminal)
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 3) plugin에 추가(vim ~/.zshrc)
plugins=([plugins...] zsh-syntax-highlighting)

# 4) 업데이트(terminal)
source ~/.zshrc

프로그램 설치

# 프로젝트 진행할 directory 만들기
mkdir first_django
cd first_django
# 아래 코드를 통해 해당 directory에서 바로 VSCODE 실행 가능
code .

# 파이썬 설치/관리 (Homebrew 이용)
brew install pyenv
# 파이썬 가상환경 관리
brew install pyenv-virtualenv

# zsh이면 아래 명령어 입력해 pyenv 설정
cd ~
echo 'eval export PATH="$HOME/.pyenv/bin:$PATH"' >> .zshrc
echo 'eval "$(pyenv init -)"' >> .zshrc
echo 'eval "$(pyenv virtualenv-init  -)"' >> .zshrc

# # bash이면 아래 명령어 입력해 pyenv 설정
# cd~
# echo 'eval export PATH="$HOME/.pyenv/bin:$PATH"' >> .bash_profile
# echo 'eval "$(pyenv init -)"' >> .bash_profile
# echo 'eval "$(pyenv virtualenv-init -)"' >> .bash_profile

pyenv 활용해 python 설치

# pyenv로 설치할 수 있는 python 버전 보기
pyenv install --list

# 3.7.7 & 3.8.2 설치
pyenv install 3.7.7
pyenv install 3.8.2

# BUILD FAILED (OS X 11.5.2 using python-build 20180424) 에러를 아래 코드를 통해 해결
# xcode 재설치
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

# brew 재설치
brew reinstall zlib bzip2

# .zshrc 파일에 아래 코드 추가
export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="/usr/local/bin:$PATH"

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/bzip2/include"

# 아래 코드를 통해 pyenv로 파이썬 3.7.7 & 3.8.2 설치
# 3.7.7
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.7.7 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

# 3.8.2
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.2 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

# 설치된 python 버전 확인
pyenv versions

python 가상 환경 구성

# 파이썬 가상환경 설치(pyenv virtualenv [파이썬_버전] [가상환경_이름])
pyenv virtualenv 3.7.7 django-envs

# 컴퓨터 전체의 기본 파이썬(global) 설정(pyenv global [파이썬_버전])
pyenv global 3.8.2
# 확인
pyenv versions

# 특정 directory의 가상환경 설정(해당 directory 들어간 후, pyenv local [가상환경_이름])
cd Projects/django
pyenv local django-envs

# 확인, 참고로 해당 디렉터리 들어가면 자동으로 해당 가상환경으로 적용됨
pyenv version


# 참고
# 가상환경 삭제 시
pyenv uninstall [가상환경_이름]

# 특정 버전의 파이썬 삭제 시
pyenv uninstall [파이썬_버전]


django 설치

# 가상환경에 들어가 있는 상태에서 실행, 참고로 django는 해당 directory(first_django)가 아닌 가상환경(django-envs)에 설치되는 것임
pip install django==2.2
# 확인
django-admin --version

# 설치되어있는 패키지 확인
pip list