<aside>
</aside>
지금까지 우리는 서버를 켜거나 테스트를 돌릴 때마다 poetry run ... 이라는 마법의 주문을 외웠죠. 오늘은 이 poetry run이 정확히 어떤 원리로 동작하는지, 그리고 왜 가상환경을 직접 활성화(activate)하는 것보다 편리한지 알아볼 거예요. 또한, 때로는 가상환경에 직접 들어가서 작업하고 싶을 때 사용할 수 있는 방법들도 함께 살펴보겠습니다.
poetry run이 어떻게 가상환경을 활성화하지 않고도 명령어를 실행하는지 이해합니다.poetry run을 사용하여 서버 실행, 테스트 등 주요 작업을 수행할 수 있습니다.poetry shell 또는 poetry env activate를 사용하여 가상환경에 직접 진입하는 방법을 알게 됩니다.이번 챕터는 새로운 코드나 파일 구조 변경 없이, 터미널에서 다양한 명령어를 실행해보는 실습 위주로 진행됩니다!
poetry run의 비밀 🤫poetry run <명령어>는 두 가지 일을 순식간에 처리해줘요.
<명령어>를 실행합니다.즉, 우리가 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은 매번 활성화/비활성화할 필요 없이 깔끔하게 한 줄로 명령을 실행할 수 있어요.