These are chat archives for evhub/coconut
docker buildcommand does, because the requirements for the development (like pip packages&versions) are less likely to change than the source-code itself.
docker buildworld constituting a change in the filesystem).
pipis at odds with the standard for
dockerhere. The way that
pipworks, it calls
setup.py, which defines both what the dependencies are and what the source code is to install (and thus requires the source code to already be present). Then,
pipuses that information to install the dependencies, and then the source. If you wanted to, you could re-implement the logic that
setup.pyuses to determine which requirements files in the
reqsfolder to tell
pipto install, but while not overly complex (the hardest part would probably just be detecting the current Python version, since different versions have different requirements), I'd rather not have that logic implemented in two places unless it's really necessary. One possible solution is to strike somewhat of a middle ground, and have docker do something like this:
pip install -r reqs/requirements.txt # universal requirements pip install -r reqs/requirements-tests.txt # always necessary to run the tests make # install the source code as well as any of the more complicated version-specific dependencies we missed above