When a requirements.txt file is available (but no pyproject.toml): $ uv venv ... will create the corresponding .venv directory. When a different python version is specified in `.python-version` then installed as base, the corresponding python version will be downloaded automatically. After this, install the dependencies with: $ uv add -r requirements.txt This will install the dependencies and update `pyproject.toml` and `uv.lock`. If you only want to install the dependencies in requirements.txt, then run: $ uv pip install -r requirements.txt --- And inside the projects Dockerfile: To bake uv binaries into the docker image: $ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ During deployment, do load exact python packages verions from `uv.lock`. This ensures compatability with the dev environment: $ RUN uv sync --locked Activate the newly installed env: $ RUN . .venv/bin/activate Finally, change the entrypoint to: ENTRYPOINT["uv", "run", ...]