1.6 KiB
HOWTO Update Python Dependencies
========================
-
Check the Pipfile for pinned dependencies and manually adjust the version numbers
-
Run
cd src docker-compose run app bash -c "pipenv lock && pipenv requirements > requirements.txt"
This will generate a new Pipfile.lock and create a new requirements.txt. It will not install anything.
It is necessary to use
bash -c
becauserun pipenv requirements
will not recognize that it is running non-interactively and will include garbage formatting characters.The requirements.txt is used by Cloud.gov. It is needed to work around a bug in the CloudFoundry buildpack version of Pipenv that breaks on installing from a git repository.
-
Change geventconnpool back to what it was originally within the Pipfile.lock and requirements.txt. This is done by either saving what it was originally or opening a PR and using that as a reference to undo changes to any mention of geventconnpool. Geventconnpool, when set as a requirement without the reference portion, is defaulting to get a commit from 2014 which then breaks the code, as we want the newest version from them.
-
(optional) Run
docker-compose stop
anddocker-compose build
to build a new image for local development with the updated dependencies.The reason for de-coupling the
build
andlock
steps is to increase consistency between builds--a run ofbuild
will always get exactly the dependencies listed inPipfile.lock
, nothing more, nothing less.