-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Horovod cannot be installed together with ML frameworks with pip>=22.0 #3483
Comments
I think a However, I'm not sure if such a file supports having different build-time requirements for different "extras" like |
Oof, here's a related discussion concerning a different package: pypa/pipenv#4482 (comment) Apparently, with |
One way to go could be to stick with setuptools to define these requirements, but to alter the h5p still handles an optional build-time dependency on mpi4py this way: https://github.com/h5py/h5py/blob/3051c76afa73ad0c72d2c7c6724fe3617d2fefd8/setup.py#L45 Related discussion initiated by an author of h5py: https://discuss.python.org/t/options-to-build-the-same-package-in-different-ways-with-different-build-dependencies/4458/16 |
The simplest way is to install the ML frameworks in a separate step first (as we do it in our |
Since
pip>=22.0
, the following way to install Horovod does not work any more:Even though
horovod[tensorflow]
depends ontensorflow
, pip does not install `tensorflow before attempting to install horovod.This probably holds for any ML framework, not only tensorflow.
With latest PIP:
Looks like an older PIP swaps the order of installing horovod and tensorflow when horovod fails, continues to install tensorflow and attempts horovod again, which then works fine:
See
vs.
after
ERROR: Failed building wheel for horovod
The text was updated successfully, but these errors were encountered: