FederatedAI / FATE

An Industrial Grade Federated Learning Framework
Apache License 2.0
5.71k stars 1.55k forks source link

Install of FATE from PyPI fails: dependency issue with "nvidia_cusparse_cu12" #5699

Open dreibh opened 2 months ago

dreibh commented 2 months ago

Describe the bug Install of FATE from PyPI (recommended procedure), as described at https://github.com/FederatedAI/FATE/tree/master/deploy/standalone-deploy, fails during "pip install fate_client[fate,fate_flow]==2.2.0": ... ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them. unknown package: Expected sha256 f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c Got fd1050f014503d2f50c5e6ed34dbfc2aac78270c735f462553080038fae54415

The expected hash "f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c" seems to belong to "nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl". It seems this dependency is somewhere defined in the FATE files. It seems there this package "nvidia_cusparse_cu12" has been updated, but the FATE dependencies require an old version which is now uninstallable. Trying to install the later versions of "nvidia_cusparse_cu12" works, but FATE is not installing with them: $ pip install nvidia_cusparse_cu12 Requirement already satisfied: nvidia_cusparse_cu12 in ./.conda/envs/fate_env/lib/python3.10/site-packages (12.5.2.23) Requirement already satisfied: nvidia-nvjitlink-cu12 in ./.conda/envs/fate_env/lib/python3.10/site-packages (from nvidia_cusparse_cu12) (12.6.20) $ pip install pip install fate_client[fate,fate_flow]==2.2.0 nvidia_cusparse_cu12==12.5.2.23 Requirement already satisfied: pip in ./.conda/envs/fate_env/lib/python3.10/site-packages (24.2) ERROR: Could not find a version that satisfies the requirement install (from versions: none) ERROR: No matching distribution found for install

To Reproduce Steps to reproduce the behavior:

  1. conda create -n fate_env python=3.10
  2. conda activate fate_env
  3. pip install fate_client[fate,fate_flow]==2.2.0

Expected behavior "pip" should install FATE.

Desktop (please complete the following information):

dreibh commented 2 months ago

Trying with Python 3.11 produces a slightly different error, i.e.:

  1. conda create -n fate_env_p311 python=3.11
  2. conda activate fate_env_p311
  3. pip install fate_client[fate,fate_flow]==2.2.0 ... ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them. unknown package: Expected sha256 e743adadd8c8152bb8373543964551a7cb7cc20ba898dc8f9c0cdbe47c283de0 Got 58db35e3a721f08ea54239688aa6a82a3c5e3c2a8c395aa20f63bc79ca93da91

A similar try with Python 3.12 fails, due to missing "fate-utils" package.

dreibh commented 2 months ago

Trying with "pip install --no-cache-dir fate_client[fate,fate_flow]==2.2.0" finally installed FATE, with Python 3.10 and Python 3.11 environments.

Installation in the Python 3.12 environment still fails (missing "fate-utils" package).