@tqchen thanks for your reply. I agree we should not overly constrain 
dependencies. my thinking is that, purely considering the non-dev dependencies 
(i.e. those we might surface to `pip`/`conda`), there are two types of 
dependenceis:
- direct dependencies
- indirect dependencies (I.e. dependencies of dependencies)

my opinion is that direct dependencies should go in the TVM analogue of the 
pytorch `requirements.txt` and should be also included in setup.py 
`install_requires`. indirect dependencies shouldn't be given to pip/conda at 
all. I do sort of think that specifying at least the major version (I.e. 
`tensorflow ^2`) for each of these is not unreasonable.

given that it's always possible with pip to install a later version of 
tensorflow with a subsequent `pip install` command, i'm even leaning towards 
specifying the minor version there too. i'd love to hear opinions from 
others--my thought is that `pip install tvm`, ran all on its own in a fresh 
virtualenv, should produce a working installation, and if you need to install a 
different version of `tensorflow` because you're doing something technically 
unsupported, pip allows you to do that.

also, regardless of being a TVM developer or user, it should be possible to 
install exactly those versions that the CI used for stable local use. this 
should probably not be the default flow, so they shouldn't be placed in 
setup.py's `install_requires`. but, users should be able to download this 
`ci_constraint.txt` file, and it should be obvious which one to download if you 
want to e.g. `pip install tvm==0.8.0`.





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/rfc-consolidating-tvm-python-dependencies/8329/4)
 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/2730b5a3fe204a7a8b5fca03424ae493435df668bc28941d65abb7f984178fc7).

Reply via email to