<aside>

</aside>

챕터 소개 🚀

지금까지 우리는 서버를 켜거나 테스트를 돌릴 때마다 poetry run ... 이라는 마법의 주문을 외웠죠. 오늘은 이 poetry run이 정확히 어떤 원리로 동작하는지, 그리고 왜 가상환경을 직접 활성화(activate)하는 것보다 편리한지 알아볼 거예요. 또한, 때로는 가상환경에 직접 들어가서 작업하고 싶을 때 사용할 수 있는 방법들도 함께 살펴보겠습니다.


챕터 목표 🎯


이번 챕터에서 사용되는 전체 코드 및 프로젝트 구조 📂

이번 챕터는 새로운 코드나 파일 구조 변경 없이, 터미널에서 다양한 명령어를 실행해보는 실습 위주로 진행됩니다!


강의 내용 📖

poetry run의 비밀 🤫

poetry run <명령어>는 두 가지 일을 순식간에 처리해줘요.

  1. 현재 프로젝트에 연결된 가상환경의 위치를 찾습니다.
  2. 그 가상환경 안에 설치된 파이썬 실행 파일이나 스크립트를 사용하여 <명령어>를 실행합니다.

즉, 우리가 source .venv/bin/activate 같은 명령어로 가상환경을 수동으로 활성화하지 않아도, poetry run이 알아서 그 가상환경 안에서 명령이 실행되는 것처럼 환경을 만들어주는 것이죠. 이게 바로 poetry run의 편리함의 핵심입니다!

graph TD
    subgraph "가상환경 수동 활성화 방식"
        A["source .venv/bin/activate"] --> B["(venv) $ uvicorn ...<br>(venv) $ pytest"]
        B --> C["deactivate"]
    end
    subgraph "poetry run 방식"
        D["poetry run uvicorn ..."]
        E["poetry run pytest"]
    end

    style A fill:#f9f,stroke:#333,stroke-width:2px
    style C fill:#f9f,stroke:#333,stroke-width:2px

보시다시피, poetry run은 매번 활성화/비활성화할 필요 없이 깔끔하게 한 줄로 명령을 실행할 수 있어요.