깔끔한 파이썬 탄탄한 백엔드 - 1장

Jajuna_99·2022년 6월 4일
0

1장 파이썬 설치 및 개발 환경 구성

  • 파이썬 설치
  • 파이썬 가상 환경
  • 터미널 개발 환경 설정
  • 깃(git) 설치 및 설정
  • 코드 에디터 / IDE 설치
  • 파이썬 설치

    파이썬 소프트웨어 재단(Python Software Foundation)에서 새로 개발을 시작하는 경우 파이썬3 사용을 공식적으로 추천한다.

    파이썬2와 파이썬3는 호환이 안됨.
    파이썬 창시자 귀도 반 로섬(Guido van Rossum)은 파이썬3를 개발할 때 파이썬2가 가지고 있던 여러 문제점들을 보단 완벽하게 해결하기 위해서 파이썬2와 호환성을 고려하지 않기로 결정.

    맥에서 파이썬을 설치하는 방법!

    크게 2가지 방법이 있다.

    1. 파이썬 홈페이지에서 파이썬 최신 버전 설치 실행파일을 다운로드 받기.
    https://www.python.org/downloads/
    python 3.x폴더 안에 IDLE로 잘 설치 됐는지 확인 가능


    2. 홈브루(Homebrew)를 통해서 다운로드 받기.

    홈브루 설치하기 (홈브루가 설치 안 돼 있을 시)

    "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    맥 터미널에서

    brew install python

    설치 완료 후 아래 커맨드로 버전 확인 및 실행

    python3

    참고
    Mac OS는 파이썬2가 미리 설치돼 있다. (운영 시스템에 python3 버전이 나오기 전에 설치되어 있는 프로그램들 때문이다.
    python2 실행파일의 심링크(symlink)는 이미 "pyhton"이라는 커맨드로 설정돼 있어서 "python3"가 아닌"python"이라는 커맨드를 입력하면 python2 버전이 실행된다.

    우분투에서 파이썬을 설치하는 방법!

    우분투 최신 버전 (16.04 혹은 그 이상)에서는 파이썬3와 파이썬2가 이미 설치되어 나온다.

    'python3' 커맨드로 그냥 실행하면 된다. (버전 관리는 뒤에 설명하는 가상 환경에서 할 예정이다.)

    윈도우에서 파이썬을 설치하는 방법!

    윈도우는 파이썬 홈페이지에서 다운 받으면 된다.
    https://www.python.org/downloads/ ^ㅇ^

    설치 중에 "Add Python 3.x to PATH" 체크박스를 체크하자, 이 옵션을 체크해야 CLI에서 python 커맨트로 실행 시킬수 있다.

    파이썬 가상환경 설치

    파이썬에서 가상환경을 사용하는 이유는 파이썬에서 여러 버전의 패키리를 사용할 수 없다는 점에서 사용해야 된다.

    ex) Flask가 버전 0.5와 1.0 둘 다 설치되어 있다고 할 때, 파이썬이 Flask 클래스를 import할 때 어떤 버전의 클래스에서 임포트해야 하는지 알 수 없다. 이것의 해결책이 바로 "가상 환경"이다.

    협업을 하거나 동시에 여러 파이썬 프로젝트를 개발할 경우 프로젝트마다 패키지 버전이 분명 다를 것이고 이것이 문제를 야기한다.

    물론 여러 버전을 동시에 사용해야 할 때는 아주 방법이 없는 것은 아니다. 자세한 내용은 책 13쪽 참고!

    가상 환경은 해당 프로젝트가 다른 프로젝트와 설정 및 패키지 버전 충돌 등이 일어나지 않도록 해당 프로젝트만을 위한 독립된 개발환경을 만들어 주는 기능을 한다.

    일반적으로 파이썬 가상 환경에는 크게 2가지가 있다.

    1. "venv"라고 하는, 파이썬 3에 포함되어 있는 가상환경 기능 (파이썬2 는 포함되어 있지 않고, 'virtualenv'라는 패키지를 따로 설치해야 한다.
    2. 콘다(Conda) 같은 외부 개발 툴(Tool)을 사용한 파이썬 가상 환경

    콘다는 파이썬 패키지 매니어(Package manager)와 개발 환경 매니저(environment manager)기능을 제공하는 개발 툴이다.

    pip 와 venv의 기능을 동신에 제공한다고 보면 편하다.

    콘다는 아나콘다(Anaconda)라는 컨티넘애널리틱스(Continuum Analytics)에서 만든 파이썬 배포판에 포함되어 있고, 아나콘다는 데이터 분석 및 사이언스에 특화된 파이썬 배포판이다.

    Numpy, SciPy 등 수학, 과학, 데이터 분석 분야의 패키지들, 그리고 그 외에도 여러 가지의 널리 사용되는 파이썬 패키지가 종합적으로 미리 설치되어 나온다.
    '아나콘다'에 콘다가 포한되어 있는 것이다.

    가상 환경 기능만 사용할 거면 venv가 효율적일수도 있다. 하지만 사용하기 더 편리한 콘다로 실습을 진행할 예정이고, 아나콘다의 경량형 버전이 미니콘다(Miniconda)를 설치해 진행할 것 이다.

    미니콘다는 일반 백엔드 개발자들이 필요로 하지 않는 사이언스 패키지 등들을 없앤 라이트한 버전이다.

    콘다 설치도 위에서 파이썬을 설치한 요령으로 맥, 우분투, 윈도우 각자 실행 환경에 맞게들 설치하면 되겠다.

    터미널 개발 환경 설정

    터미널 개발 환경은 굉장히 다양하고 이미 많이 사용해 봤을 것이라 생각하고 간단하게 짚고 넘어가겠다.
    백엔드 개발을 하는 사람이라면 응당 CLI 환경에 익숙해야 한다는 지은이에 의견도 있습니다!
    (p.21 참고!)

  • 맥 OS는 iTerm이라는 터미널 환경을 추천하고, 생상도 이쁘게 설정하라고 친절하게 가르쳐준다.
  • 우분투는 Gnome 터미널이 디폴트로 설치되어 있고, 색상 테마 변경 툴인 'Gogh'를 추천해준다.
    (고흐! 재밌네요!)
  • 윈도우는 우분투 터미널 환경을 따로 설치하는 것을 추천해준다.
  • 깃 (git) 설치 및 설정

    네. 간단히 설명하겠습니다.

    책에서는
    'TIG(Text-mode Interface for git; 깃 커밋 히스토리를 터미널에서 보여주는 툴)'
    'Diff So Fancy(git diff의 출력화면을 터미널상에서 더 보기 쉽게 출력해주는 기 플러그인)'
    를 추천해 줍니다.

    셸(Shell)은 터미널 환경에서 운영체제의 커널(Kernel)과 사용자의 유저 스페이스(User space)를 이어 주는 인터페이스(interface) 역할을 하는 프로그램이다.

    OS <-> Shell <-> User 로 생각하면 편할 것이다!

    인터페이스 역할 외에드 셸 스크립트(Shell Script)라는 셸 전용 프로그래밍 언어를 사용해서 터미널 환경에서 다양한 자동화를 실행할 수 있다.

    대표적인 셸은 bash(Bourne-Again Shell), CSH(C Shell), KSH(Korn Shell) 등이 있고, 책에서는 최근 인기를 얻고 있는 ZSH(Z Shell)을 사용할 예정이다.
    특히 Oh My Zsh이라는 ZSH 설정 매니저 플러그인(configuration manager)을 통해 편리하게 셸을 설정할 수 있어서 널리 사용된다.

    ZSH를 설치하고 Oh My Zsh를 설치해보자, 설치를 했다면 설정해보자

    설치했다면 Oh My Zsh를 설정할 차례다.

    vim ~/.zshrc

    위에 코드로 .zshrc를 실행하자. (리눅스, 유닉스를 접해봤다면 익숙할 명령어!)
    실행했다면 우리가 수정해야 할 것은 "ZSH_THEME"과 "plugins"이다. 감이 좋은분들은 이걸로 쉘 테마를 바꾸고 쓰기 편하게 플러그인을 설치하겠다는 것을 눈치채셨을 것이다.

    지은이가 추천하는 플러그인은
    'zsh-syntax-highlighting' - ZSH에서 명령어에 생상을 입혀 줌
    'history-substring-search' - ZSH네서 키워드 입력 후 화살표 위 방향 키를 입력하면 해당 키워드가 속한 과거 실행 명령어들을 찾아줌
    이다.

    에디어 IDE 설치

    네. 넘어가겠습니다.

    지은이는 '파이참(PyCharm)', 'Visual Studio Code', 'VIM', '서브라임 텍스트(Sublime Text)'를 추천해준다.
    본인은 군인이라 킹갓 구름을 사용했다! VS코드 쓰고 싶다! 전역하고 싶다!

    1장 요약

    환경 설정은 정말 정말 정말 중요하다고 생각합니다.
    제가 공부하면서, 느끼고, 생각하기에도 환경 설정에 따라 프로젝트, 개발의 양상, 환경이 천차만별로 변합니다. 그만큼 중요한 환경설정이기에 더 열심히 작성했던 부분이 있던 것 같습니다. 책 중간중간에 현직자만에 디테일을 볼 수 있어서 좋았습니다. 👍

    profile
    Learning bunch, mostly computer and language

    0개의 댓글