giotto-ai / giotto-tda

A high-performance topological machine learning toolbox in Python
https://giotto-ai.github.io/gtda-docs
Other
856 stars 175 forks source link

[BUG] Installation error on Windows 10 (user) #629

Closed WizenPainter closed 2 years ago

WizenPainter commented 2 years ago

When trying to install the package through Pipy I get the following error :

ERROR: Packages installed from PyPI cannot depend on packages which are not also hosted on PyPI.
giotto-tda depends on pycairo@ https://storage.googleapis.com/l2f-open-models/giotto-learn/windows-binaries/pycairo/pycairo-1.18.2-cp310-cp310m-win_amd64.whl 

This issue has been reported before on June 2020, but no solution was found at the cause of inactivity. I've tried both of the recommended by @ulupo. The error given by doing pip install https://files.pythonhosted.org/packages/0b/7a/1ff328d9cf2aed3733d6e47f48b3388e07fa260bd6a855106535da3e1620/giotto_tda-0.2.2-cp38-cp38-win_amd64.whl is the following is the following:

ERROR: giotto_tda-0.2.2-cp38-cp38-win_amd64.whl is not a supported wheel on this platform.

To reproduce

  1. Install Python 3.10.2 on Windows 10
  2. Run either pip install giotto-tda or pip install https://files.pythonhosted.org/packages/0b/7a/1ff328d9cf2aed3733d6e47f48b3388e07fa260bd6a855106535da3e1620/giotto_tda-0.2.2-cp38-cp38-win_amd64.whl
  3. Extra Any modification to pip install giotto-tda such as pip install -U giotto-tda has also not yielded any result.

Expected behavior

Expected to have the giotto-tda library installed in Python.

Actual behaviour

Error is raised and the library is not installed correctly

Versions

Please run the following snippet and paste the output below.

import platform; print(platform.platform())

WizenPainter commented 2 years ago

Running the following will also generate an error: python -m pip install -U giotto-tda-nightly

The error is the following:

raise RuntimeError("CMake must be installed to build the " RuntimeError: CMake must be installed to build the following extensions: gtda [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> giotto-tda-nightly

note: This is an issue with the package mentioned above, not pip.

ulupo commented 2 years ago

Hi @WizenPainter, thanks for the report! The problem is that the library is now in version 0.5.1, but we don't yet support Python 3.10. pip falls back to the best it can, which is installing from sources, but this cannot work, see #308.

We are working on supporting Python 3.10, but for now I'm afraid you'll have to either compile the project from sources (harder) or install the library in an environment with Python 3.9 or below.

WizenPainter commented 2 years ago

Ok, I'll wait for the Python 3.10 support to be done. Thank you for answering!

bostonnd commented 2 years ago

Hi @ulupo , My python is 3.7.9 but I still get the same issue. Could you please help?