Closed mgibbs1259 closed 4 years ago
Thank you @mgibbs1259 for the suggestion. While adding exact dependency versions could help with reproducibility, it has some severe impact on the rest of the system by blocking other packages with different (usually higher) version dependencies to install.
In practice packages are very selective about adding exact versions to the requirements. Here are some examples:
PyTorch
does not add any version to the requirements [Link]matplotlib
only add minimum version [Link]Pandas
selectively add exact versions to the requirements 4 out of 72 [Link]Same pattern is followed by other python packages.
That being said, we have decided to be very conservative on dependency versioning in genoml
.
Could you elaborate on problems you have encounter regarding requirements?
Thanks for taking the time to respond, @xldrx! Your explanation was very informative, and I didn't realize that those packages were selective about exact versions in their requirements. I just had one minor problem with the requirements that I should have elaborated on in this issue (sorry about this!). I'm using the python_v1.5 branch, and I created a Python 3.7.4 virtual environment. When installing the requirements, I ran into a minor problem when installing xgboost. I saw in docs/GettingStarted.sh, there is a comment with steps for dealing with this issue. I was able to get xgboost to install successfully by using pip install xgboost==0.90.
Moved issue to new repo for completeness and consistency
Please make sure that this is a feature request.
System information
Describe the feature and the current behavior/state. To avoid ending up in dependency hell, the requirements.txt file should include package versions.
Will this change the current api? How? No
Who will benefit with this feature? Everyone! This will help ensure reproducibility.
Any Other info.