Requirements/dependencies
These directories specify the Python (and system) dependencies for the LMS and Studio.
-
edx
contains the normal Python requirements files -
edx-sandbox
contains the requirements files for Codejail -
constraints.txt
is shared between the two
(In a normal OEP-18-compliant repository, the *.in
and *.txt
files would be
directly in the requirements directory.)
Upgrading/downgrading just one dependency
Want to upgrade just one dependency without pulling in other upgrades? Here's how:
- Change your dependency to a minimum-version constraint, e.g.
my-dep>=1.2.3
(or update the constraint if it already exists) - Run
make compile-requirements
to recompute dependencies with this new constraint
If you instead need to surgically downgrade a dependency, perhaps in order to revert a change which broke things:
-
Add an exact-match or max-version constraint to
constraints.txt
with a comment explaining why (and ideally a ticket or issue link) -
Lower the minimum-version constraint, if it exists
- Not sure if there is one? Try going on to the next step and seeing if it complains!
-
Run
make compile-requirements
This is considerably safer than trying to manually edit the *.txt
files, which can easily result in incompatible dependency versions.