1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00
awx/requirements
2016-12-20 15:15:10 -05:00
..
README.md general update of requirements 2016-12-16 13:13:52 -05:00
requirements_ansible_uninstall.txt uninstall certifi if installed in venv's 2016-12-14 09:53:24 -05:00
requirements_ansible.in pip prefers - not _ 2016-12-20 15:15:10 -05:00
requirements_ansible.txt pip prefers - not _ 2016-12-20 15:15:10 -05:00
requirements_dev_uninstall.txt uninstall certifi if installed in venv's 2016-12-14 09:53:24 -05:00
requirements_dev.txt Optimize uwsgi launching in dev container and prod 2016-11-04 13:38:23 -04:00
requirements_tower_uninstall.txt uninstall certifi if installed in venv's 2016-12-14 09:53:24 -05:00
requirements.in pip prefers - not _ 2016-12-20 15:15:10 -05:00
requirements.txt pip prefers - not _ 2016-12-20 15:15:10 -05:00

The requirements.txt and requirements_ansible.txt files are generated from requirements.in and requirements_ansible.in, respectively, using pip-tools pip-compile. The following commands should do this if ran inside the tower_tools container.

virtualenv /buildit
source /buildit/bin/activate
pip install pip-tools
pip install pip --upgrade

pip-compile requirements/requirements.in > requirements/requirements.txt
pip-compile requirements/requirements_ansible.in > requirements/requirements_ansible.txt

Known Issues

  • Remove the -e from packages of the form -e git+https://github.com... in the generated .txt. Failure to do so will result in a "bad" RPM and DEB due to the pip install laying down a symbolic link with an absolute path from the virtualenv to the git repository that will differ from when the RPM and DEB are build to when the RPM and DEB are installed on a machine. By removing the -e the symbolic egg link will not be created and all is well.

  • As of pip-tools 1.8.1 pip-compile does not resolve packages specified using a git url. Thus, dependencies for things like dm.xmlsec.binding do not get resolved and output to requirements.txt. This means that:

    • can't use pip install --no-deps because other deps WILL be sucked in
    • all dependencies are NOT captured in our .txt files. This means you can't rely on the .txt when gathering licenses.