FS#68772 - [python-tensorflow] requires out-of-date packages
Attached to Project:
Community Packages
Opened by Leon Möller (jkhsjdhjs) - Saturday, 28 November 2020, 15:54 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Thursday, 03 December 2020, 07:05 GMT
Opened by Leon Möller (jkhsjdhjs) - Saturday, 28 November 2020, 15:54 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Thursday, 03 December 2020, 07:05 GMT
|
Details
Description:
Loading tensorflow with setuptools fails, because tensorflow requires - numpy<1.19.0,>=1.16.0 (repos have 1.19.4) - gast==0.3.3 (repos have 0.4.0) - h5py<2.11.0,>=2.10.0 (repos have 3.1.0) It seems most packages don't load tensorflow with setuptools, thus the error hasn't been noticed yet. Maybe patching the setupfile of tensorflow is an option to fix this error. |
This task depends upon
Closed by Sven-Hendrik Haase (Svenstaro)
Thursday, 03 December 2020, 07:05 GMT
Reason for closing: Fixed
Thursday, 03 December 2020, 07:05 GMT
Reason for closing: Fixed
On their master branch every dependency specification was changed meanwhile, so the patch will most definitely not work with the next release. See https://github.com/tensorflow/tensorflow/blob/r2.4/tensorflow/tools/pip_package/setup.py#L77
They changed the dependency on numpy from `>= 1.16.0, < 1.19.0` to `~= 1.19.2`, so we should be fine for numpy at least with the next release.
However, they're still depending on `h5py ~= 2.10.0` and `gast == 0.3.3`, so these two will still need to be patched.
numpy apparently had an ABI breakage, that's why they depended on numpy < 1.19.0 in the first place. Although it seems to work fine with 1.19.0+ (because there aren't any other bug reports here), maybe there were some edge cases that didn't work.
gast apparently needs to be pinned because otherwise ecosystem packages break: https://github.com/tensorflow/tensorflow/commit/710f3c83b4147eb76e748efcc218325c4978726c
Regarding h5py, I don't know why they're still depending on 2.x.
But I agree, just sed-ing everying sounds like a good solution, because we can't care about their pinned versions anyways as downgrading other repository packages is not an option.
If python-gast is a problem on arch, we'd always have the option of reverting our package to an older version and rebuilding it with an epoch bump. So if stuff is actually incompatible then yes, we do care.