>백엔드 개발 >파이썬 튜토리얼 >Devcontainer를 사용하여 VSCode에서 Python 개발

Devcontainer를 사용하여 VSCode에서 Python 개발

Susan Sarandon
Susan Sarandon원래의
2024-12-01 14:36:15399검색

Python Development in VSCode Using Devcontainer

Devcontainer를 사용하여 VSCode에서 Python 개발

이 가이드에서는 Visual Studio Code(VSCode)를 사용하여 Docker 기반 개발 환경에서 Python 개발을 위한 devcontainer-python-template을 설정하고 사용하는 단계를 안내합니다. 이 템플릿을 사용하면 devcontainer 내의 Python 프로젝트를 빠르게 시작하고 실행할 수 있습니다.

저장소를 직접 복제하는 대신 템플릿을 기반으로 자신만의 저장소를 생성하므로 변경 사항을 자신의 저장소에 다시 푸시할 수 있습니다.

1. 템플릿에서 새 리포지토리 생성

  • devcontainer-python-template 저장소(https://github.com/jdevto/devcontainer-python-template)로 이동하세요.
  • 저장소 페이지 오른쪽 상단에 있는 이 템플릿 사용 버튼을 클릭하세요.
  • 새 저장소 만들기를 선택합니다.
  • 저장소 세부정보를 입력하세요.
    • 저장소 이름: 새 프로젝트의 이름을 선택합니다(예: python-flask-web-app).
    • 설명: 선택적으로 저장소에 대한 설명을 추가합니다.
    • 가시성: 저장소를 공개 또는 비공개로 설정할지 선택하세요.
    • 소유자: (선택 사항) 조직 아래에 저장소를 생성하는 경우 적절한 소유자(계정 또는 조직)를 선택합니다.
  • 템플릿에서 저장소 생성을 클릭하세요.

이렇게 하면 GitHub 계정에 devcontainer-python-template의 콘텐츠로 초기화된 새 저장소가 생성됩니다.

2. 새 저장소를 로컬로 복제

  • 이제 새 저장소를 만들었으므로 VSCode를 엽니다.
  • 새로 생성된 저장소를 로컬 시스템에 복제합니다.
git clone git@github.com:jdevto/python-flask-web-app.git
cd python-flask-web-app

브랜치를 만들어서 작업하는 것이 항상 모범 사례입니다.

git clone git@github.com:jdevto/python-flask-web-app.git
cd python-flask-web-app

3. VSCode에서 리포지토리를 열고 Devcontainer를 시작합니다.

  • VSCode에서 저장소를 엽니다.
    • 저장소를 복제한 후 Visual Studio Code에서 엽니다.
    • VSCode 메뉴에서 활동 표시줄로 이동하여 원격 탐색기를 클릭하세요.
    • 컨테이너에서 다시 열기를 선택합니다. 그러면 .devcontainer 폴더에 정의된 개발 컨테이너(devcontainer)가 빌드되고 실행됩니다.
  • 설정 중 발생하는 상황: VSCode는 자동으로 다음을 수행합니다.
    • devcontainer.json 구성 파일에 지정된 대로 Docker 컨테이너를 빌드합니다.
    • requirements.txt 또는 기타 프로젝트 파일에 나열된 종속성(예: Python 패키지)을 설치합니다.
    • 컨테이너 내부의 깨끗하고 격리된 개발 환경에서 프로젝트를 엽니다.
  • 설정 성공 시 출력: .devcontainer 설정이 성공하면 다음과 유사한 출력이 표시됩니다.
git branch dev
git checkout dev
  • 터미널 열기:

    • 동일한 VSCode 창에서 터미널을 닫았다가 다시 엽니다.
    • 다음과 같은 메시지가 표시됩니다.
      Running the postCreateCommand from devcontainer.json...
    
      [7382 ms] Start: Run in container: /bin/sh -c .devcontainer/scripts/postCreate.sh
      Linux 726a838654fd 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov  6 17:42:15 UTC 2 x86_64 GNU/Linux
      Done. Press any key to close the terminal.
    

4. Python이 작동하는지 확인

계속하기 전에 Python이 devcontainer 내에서 올바르게 작동하는지 확인하세요.

  • VSCode에서 통합 터미널을 엽니다.
  • Python 버전을 확인하려면 다음 명령을 실행하세요.
root ➜ /workspaces/python-flask-web-app (main) $
  • 다음과 같은 출력이 표시됩니다.
  python --version

5. 테스트 Python 스크립트 실행

템플릿에는 hello/main.py에 있는 간단한 테스트 스크립트가 포함되어 있습니다. 이 스크립트를 실행하여 설정을 검증하고 Python이 올바르게 실행되는지 확인하세요.

  • 터미널에서 테스트 스크립트를 실행합니다.
  Python 3.12.7
  • 예상 출력:
  python hello/main.py

6. 정리

Python이 작동하고 테스트 스크립트가 성공적으로 실행되는지 확인한 후:

  • 테스트 스크립트 제거: 테스트 스크립트가 더 이상 필요하지 않은 경우 hello 디렉터리를 삭제합니다.
  Hello, Devcontainer!
  • 원하는 대로 LICENSE 파일을 업데이트하세요

7. 플라스크 웹앱 개발

  • 다음 내용으로 README.md 파일을 업데이트합니다.
  rm -rf hello
  • 프로젝트 디렉토리 생성

    • 프로젝트를 보관할 폴더를 만듭니다.
      # python-flask-web-app
    
      A simple demo showcasing a Python Flask web application running in a VSCode development container. This setup is designed to provide an isolated, portable, and consistent environment for Python development.
    
  • 가상 환경 설정

    • 종속성을 관리하기 위해 Python 가상 환경을 설정하세요.
    mkdir flask-web-app
    cd flask-web-app
    
  • 플라스크 설치

    • 가상환경에 Flask를 설치해보세요.
    python -m venv venv
    source venv/bin/activate
    
    • 종속성을 추적하려면 요구사항.txt 파일을 만드세요.
    pip install flask
    
  • 앱 만들기

    • app.py 파일을 생성합니다.
    git clone git@github.com:jdevto/python-flask-web-app.git
    cd python-flask-web-app
    
    • app.py 파일을 다음 내용으로 업데이트하세요.
    git branch dev
    git checkout dev
    
  • 앱 실행

    • 앱을 실행하여 설정을 확인하세요.
      Running the postCreateCommand from devcontainer.json...
    
      [7382 ms] Start: Run in container: /bin/sh -c .devcontainer/scripts/postCreate.sh
      Linux 726a838654fd 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov  6 17:42:15 UTC 2 x86_64 GNU/Linux
      Done. Press any key to close the terminal.
    
    • 다음과 같은 내용이 표시됩니다.
    root ➜ /workspaces/python-flask-web-app (main) $
    
    • 브라우저에서 http://127.0.0.1:5000을 엽니다. "Hello, World!"가 표시되어야 합니다.
  • 프로젝트 구조 확장

앱이 발전함에 따라 템플릿, 정적 파일, 테스트를 지원하는 디렉터리 구조를 추가하세요.

  • 다음 구조를 만듭니다.

      python --version
    
  Python 3.12.7
  • 다음 내용으로 base.html 파일을 업데이트하세요.

      python hello/main.py
    
  • Flask 앱 다시 실행
    업데이트된 버전을 테스트하려면 앱을 다시 실행하세요.

      Hello, Devcontainer!
    
  • 브라우저를 열고 http://127.0.0.1:5000으로 이동하세요.

  • 다음과 같은 내용이 표시됩니다.

      rm -rf hello
    
    • 환경정화 Flask 앱 테스트 및 실행을 마친 후:
  • Flask 서버 중지

    • Flask 앱이 실행 중인 터미널에서 Ctrl C를 누르세요. 서버 프로세스가 종료됩니다.
  • 개발환경 종료

    • VSCode에서 Ctrl Shift P(또는 macOS에서는 Cmd Shift P)를 눌러 명령 팔레트를 엽니다.
    • SSH에서 폴더 다시 열기를 입력하고 옵션을 선택합니다. 이렇게 하면 개발 컨테이너를 벗어나 로컬 환경으로 돌아갈 수 있으므로 컨테이너 외부의 추가 작업에 대한 원활한 워크플로 통합이 가능합니다.

8. 분기를 GitHub로 푸시

  • 실행
  # python-flask-web-app

  A simple demo showcasing a Python Flask web application running in a VSCode development container. This setup is designed to provide an isolated, portable, and consistent environment for Python development.

9. 끌어오기 요청(PR) 생성

GitHub의 저장소로 이동

  • GitHub에서 저장소를 방문하세요.

"Pull Requests" 탭으로 이동

  • 저장소 페이지 상단에 있는 "Pull Requests" 탭을 클릭하세요.

새 끌어오기 요청 만들기

  • "새 끌어오기 요청" 버튼을 클릭하세요.

홍보할 지점 선택

  • 기본 분기: 병합하려는 분기를 선택합니다(예: 기본 또는 프로덕션).
  • 브랜치 비교: 방금 푸시한 브랜치를 선택하세요(예: dev).

Pull 요청 생성 열기

  • "풀 요청 생성"을 클릭하세요.

변경사항 검토

  • 변경된 커밋 및 파일 목록을 검토하여 모든 것이 올바른지 확인하세요.

제목 및 설명 추가

  • 간결하고 설명이 포함된 제목을 제공하세요(예: feat: 템플릿 개발 업데이트).

  • 필요한 세부정보(예: 변경 이유, 문제 참조 등)가 포함된 설명을 추가하세요.

Pull Request 마무리

  • "풀 요청 생성"을 다시 클릭하여 확인하세요.

PR 검토 및 승인

  • 변경 사항을 직접 검토하거나 팀원에게 검토를 요청하세요.

Pull Request 병합

  • 모든 것이 괜찮아지면 PR로 이동하여 "Pull Request 병합"을 클릭하세요.
  • "병합 확인"을 클릭하여 병합을 확인하세요.

위 내용은 Devcontainer를 사용하여 VSCode에서 Python 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.