When deploying to Render from a Git repo, these lines can be read in the deployment logs:
INFO==> Using Poetry version 1.7.1 (default)
INFO==> Docs on specifying a Poetry version: https://render.com/docs/poetry-version
INFO==> Running build command 'pip install -r requirements.txt'...
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
From other services like Heroku or Koyeb, I’m used to having no requirements.txt
but the deployment to pick up a Pipenv.lock
or poetry.lock
file instead, if found.
These first INFO==>
lines indicate that Render’s build environment has Poetry available at least, too.
So, my question is: Why isn’t it possible to have Render provide the requirements by having it execute any of:
poetry install
(ifpoetry.lock
is found)pipenv sync
(ifPipenv.lock
is found)
Currently, this behavior makes an extra-step necessary to export the project requirements to a requirements.txt
file to have Render pick up and install the project requirements:
pipenv requirements --dev > requirements.txt
for Pipenvpoetry export -f requirements.txt --output requirements.txt
for Poetry
This is required whenever there is a change to the package list or a newer version of any of the installed modules is released. This seems to render any project dependency management absurd.
This seems completely unnecessary to me since Render seems to have at least Poetry available.
If there is a way to have this, I missed studying the docs; please point me to the docs if this is the case.