thanks for all the discussions! here are the next steps I can see:
1. create a `python/requirements.txt` for the core direct dependencies, specify
version constraints as appropriate to be used in the CI. also create e.g.
`python/requirements-tflite.txt` files (one per extra feature of TVM) in the
same spirit.
2. modify `python/setup.py` to use those `requirements.txt` to derive
`install_requires`.
3. create `python/requirements-dev.txt`, which will not be read by `setup.py`
but which should be used to install dev dependencies (i.e. lint, pytest,
sphinx).
4. modify the CI docker build scripts as follows:
1. update to pip 20.3 to use the new dependency resolver
2. delete all `pip install foo` commands and replace them with a single `pip
install` command (see next bullet point)
3. create `python/ci-constraints.txt` which captures even more restrictive
constraints for use with the CI that we would not ordinarily populate.
4. modify the CI install scripts in `docker/install/*.sh`, deleting all
`pip install` commands and replacing with `pip install -e ./python -c
python/ci-constraints-concatenated.txt` (and potentially `./python[tflite]`
when extras are needed). `ci-constraints-concatenated.txt` is synthetically
built by a shell script function concatenating these files (we may need to
de-dupe python packages, so this may become a python script):
- `python/requirements.txt`
- `python/requirements-$extra.txt`
- `python/ci-constraints.txt`
in a follow-on RFC, we'll consider the challenge of ensuring that this
constraints file is uniform across all CI containers (I.e. also the question of
whether this is necessary). we'll also consider challenges in keeping the
requirements up-to-date, which may be easier with a tool such as poetry or may
not. I think given the new pip dependency resolver, motivation for the use of
poetry or some additional tool should come after considering that.
---
[Visit
Topic](https://discuss.tvm.apache.org/t/rfc-consolidating-tvm-python-dependencies/8329/19)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.apache.org/email/unsubscribe/7101446e06761a9ac9ff57ba2dd4d0b8fcd319bdfc9b4c62ce4357bbd3d584be).