Check for differences between requirements.txt files and your environment.
At YPlan, we automatically call check_requirements()
during development and testing to provide developers instant feedback if their environment is out of sync with the current requirements.txt. This ensures that developers do not experience unexpected behaviour or errors related to out of sync requirements.
Install with pip:
At YPlan, we call check_requirements()
within our Django manage.py
which checks the requirements every time Django starts or tests are run. We recommend checking the environment to ensure it is not run in a production environment, to avoid slowing down application startup.
Exit with exit code 1 and output to stderr if there are mismatches between the environment and requirements file.
requirements_file_path
is the path to the requirements.txt
file - we recommend using an absolute file path.
post_text
is optional text which is displayed after the stderr message. This can be used to display instructions on how to update the requirements.
Example:
There are requirement mismatches with requirements.txt:
* Package Django has version 1.9.10 but you have version 1.9.0 installed.
* Package requests has version 2.11.1 but you have version 2.11.0 installed.
* Package requests-oauthlib is in requirements.txt but not in virtualenv
Run the following on your host machine:
vagrant provision
Return a dictionary of package names to tuples of (expected_version, actual_version)
for mismatched packages.
requirements_file_path
is the path to the requirements.txt
file - we recommend using an absolute file path.
Example: