The requirements.txt
and requirements_ansible.txt
files are generated from requirements.in
and requirements_ansible.in
, respectively, using pip-tools
pip-compile
.
Run ./updater.sh
command from inside ./requirements
directory of the awx repository.
Make sure you have patch, awk, python3, python2, python3-venv, python2-virtualenv, pip2, pip3
installed.
If you are using the development container image, you need to run dnf install libpq-devel libcurl-devel
. These packages are only installed temporarily in the Dockerfile.
This script will:
- Update
requirements.txt
based onrequirements.in
- Update/generate
requirements_ansible.txt
based onrequirements_ansible.in
- including an automated patch that adds
python_version < "3"
for Python 2 backward compatibility
- including an automated patch that adds
- Removes the
docutils
dependency line fromrequirements.txt
andrequirements_ansible.txt
You can also upgrade (pip-compile --upgrade
) the dependencies by running ./updater.sh upgrade
.
If any library has a change to its license with the upgrade, then the license for that library
inside of docs/licenses
needs to be updated.
For libraries that have source distribution requirements (LGPL as an example), a tarball of the library is kept along with the license. To download the PyPI tarball, you can run this command:
pip download <pypi library name> -d docs/licenses/ --no-binary :all: --no-deps
Make sure to delete the old tarball if it is an upgrade.