본문 바로가기
Web/FastAPI

Visual Studio Code Python 초기 설정 (가상환경, Linter, Formatter, pip, .gitignore)

by 컴돈AI 2023. 12. 15.

목차

    파이썬 가상환경

    • 가상환경 생성
      • python3 -m venv venv(가상환경이름)
    • 가상환경 활성화
      • source venv/bin/activate
    • 가상환경 비활성화
      • deactivate
    • 파이썬 가상환경을 사용하는 경우 .gitignore 파일에 다음 내용을 포함해야 합니다.
      • # 가상 환경 폴더
        venv/
         
      • venv 디렉토리와 그 안의 모든 파일을 무시하게 됩니다.

    .gitignore 파일 생성

    • .gitignore 파일은 Git 버전 관리 시스템에서 특정 파일이나 디렉토리를 추적하지 않도록 설정하는 데 사용됩니다.
    • 이 파일은 프로젝트의 루트 디렉토리에 위치하며, Git이 버전 관리에서 제외해야 할 파일과 디렉토리 목록을 참고 있습니다.
    • 파일 작성 가이드
      • 패턴 매칭 : .gitignore 파일은 단순한 파일 이름뿐만 아니라 와일드카드 패턴을 사용하여 파일을 지정할 수 있습니다. 예를 들어, *.log 는 모든 .log 확장자를 가진 파일을 무시하도록 설정할 수 있습니다.
      • 디렉토리 무시 : 특정 디렉토리와 그 안의 모든 파일을 무시하려면 디렉토리 이름 뒤에 / 를 붙여서 지정할 수 있습니다. 예를 들어 logs/ 로 지정하여 logs 디렉토리와 그 안의 모든 파일을 무시하도록 설정할 수 있습니다.
      • 주석 사용 : #으로 시작하는 라인은 주석으로 처리됩니다.
      • 예외 규칙 : ! 를 사용하여 특정 규칙을 무시하고 파일을 추적하도록 설정할 수 있습니다. 예를 들어 !example.log가 있으면 *.log 를 통해 무시가 되더라도 example.log 파일은 Git에 의해 추적되도록 할 수 있습니다.
    • 참고 : 깃허브에서 권장하는 python의 .gitignore 파일

    Interpreter 설정

    • 가상환경 활성화 한 뒤, 현재 실행되는 python 경로 확인
      • which python
    • 명령 팔레트(Ctrl + Shift + p) 실행 후, Python: Select Interpreter 검색
    • which python을 통해 나온 python 경로를 입력 엔터 두 번 진행

    포매터(Formatter) 설정

    • 포매터(Formatter) 정의
      • Formatter란 코드의 형식을 자동으로 정리하고 표준화하는 도구입니다.
    • 포매터(Formatter) 목적
      • 코드 가독성 향상 : 깔끔하고 일관된 형식을 통해 코드를 읽고 이해하기 쉽게 만듭니다.
    • 파이썬 예시
      • Black : 매우 엄격한 형식 규칙을 적용합니다. 
    • 포매터(Formatter) 설정 방법
      • Visual Studio Code에서 Black Formatter 설치
      • 설정(Ctrl + ,(쉼표)) 에 들어간 뒤 format 검색
      • Editor : Default Formatter에서 Black Formatter 설정
      • Editor : Format On Save 체크해주기
        • 이걸 체크해주면 저장할 때 자동으로 코드 포매터(Formatter)가 실행되어 코드가 지정된 스타일 가이드에 따라 자동으로 정리되고 수정됩니다.
      • 코드를 저장할 때마다 Black 양식에 맞춰서 .py 파일들이 포매팅됩니다.
        • 저장 전
        • 저장 후
          • ' ' 작음 따옴표가 " " 큰 따옴표로 변경되고, 줄 바꿈 역시 자동으로 수정되었습니다.

    린터(Linter)

    • 린터(Linter) 정의
      • 린터는 코드를 분석하여 프로그래밍 오류, 버그, 스타일 오류, 의심스러운 구조 등을 식별하는 도구입니다.
    • 린터(Linter) 목적
      • 코드 품질 향상 : 오류를 조기에 발견하여 수정할 수 있습니다.
        • 파이썬의 경우 인터프리터 언어이기 때문에 컴파일 언어와 다르게 디버그가 어렵습니다.
        • 컴파일 언어의 경우, 작성한 뒤 컴파일 버튼을 누르면 기계어에 오류가 하나라도 있을 경우 바로 터져버리게 됩니다.
        • 하지만 인터프리터 언어는 특정 함수를 잘못 작성하더라도 그 함수를 실행만 하지 않는다면 아무 문제 없이 코드가 실행되게 됩니다. 그러다 나중에 그 함수를 실행하는 순간 그때 코드가 터져버리게 되는데 이럴 경우 버그를 찾아내기가 다소 어려울 수 있습니다.
        • 이러한 것을 방지하기 위해 린터(Linter)가 필요합니다.
    • 파이썬 예시
      • flake8 : PEP8 코딩 가이드라인을 준수하는지 확인합니다.
    • 린터(Linter) 설정 방법
      • Visual Studio Code에서 flake8 설치

      • 코드를 저장하면, 오류가 발생한 부분에 밑줄이 생기면서 오류를 표시해 줍니다.

    pip

    • pip는 python 프로그래밍 언어를 위한 표준 패키지 관리자입니다.
      • Python 2.7.9 이상 및 Python 3.4 이상 버전에서는 pip가 기본적으로 포함되어 있습니다. 따라서 따로 pip를 설치할 필요가 없습니다.
    • 주요 명령어
      • 패키지 설치
        • pip install 패키지 이름
      • 특정 버전 패키지 설치
        • pip install 패키지==1.0.0
      • 패키지 업데이트
        • pip install --upgrade 패키지이름
      • 특정 버전 패키지 업그레이드
        • pip install --upgrade 패키지==1.0.0
      • 패키지 제거
        • pip uninstall 패키지이름
      • 패키지 목록 조회
        • pip list
      • 설치된 패키지 목록 requirements.txt 파일에 작성
        • pip freeze > requirements.txt
        • 참고 : requirements.txt 파일에는 python 버전까지 주석으로 명시해 주면 좋습니다.
          • python --version을 통해 파이썬 버전 확인 가능
      • requiremets.txt 요구 사항 파일을 통해 여러 패키지 한 번에 설치
        • pip install -r requirements.txt

     

     

    'Web > FastAPI' 카테고리의 다른 글

    FastAPI vs APIRouter  (1) 2023.12.20
    FastAPI 기초  (0) 2023.12.19
    FastAPI 이론  (0) 2023.12.19