I would use pyenv locally so I can easily switch versions but dev and prod is a Docker container with one python version, then poetry install the virtual environment.
You don’t even really need to install into a venv, since you’re already in an isolated container, but going straight for a venv is kind of a reflex for most Python devs