RWTH-EBC/FiLiP

Filip Installation Failure with Python 3.11 and 3.12 due to igraph 0.9.8 incompatibility

mmue0823 opened this issue · 2 comments

Describe the bug
The installation of Filip in an environment with Python 3.10 works seamlessly. However, for Python 3.11 and 3.12, the installation fails. This seems to be due to the incompatibility of igraph 0.9.8 (defined in setup.py) with Python 3.11 and 3.12.

To Reproduce
Steps to reproduce the behavior:
VERSION A (python 3.10.13)

  1. conda create -n test1 python=3.10.13
  2. conda activate test1
  3. pip install filip
  4. conda deactivate

VERSION B (python 3.11 or python 3.12)

  1. conda create -n test2 python=3.12.0
  2. conda activate test2
  3. pip install filip

The installation fails with the following error message:

Building wheels for collected packages: igraph
  Building wheel for igraph (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
     exit code:1 
         [48 lines of output]
         [...]

      igraph uses CMake as the build system. You need to install CMake before compiling igraph.
      Build failed for the C core of igraph.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for igraph
  Running setup.py clean for igraph
Failed to build igraph

Expected behavior
The installation should work with Python 3.11 and Python 3.12 (VERSION B).

Environment:

  • OS: Windows 10
  • Python-Version: 3.10, 3.11, 3.12
  • FiLiP-Version: 0.2.5
  • igraph: 0.9.8 (setup.py)

Additional context
I would like to refer to #207 (comment):

The problem seems to be compatibility between igraph 0.9.8 and python 3.11 which makes sense as I found

The current version of igraph seems to be compatible with python up to version 3.12. For the very short term going back to 3.10 might be an option, but I think upgrading to a newer version will be necessary in the future anyways.

Changing the version of igraph in setup.py to a newer version that is compatible with Python 3.11 and 3.12 may solve the problem.

Thank you for reporting! What you suggest is actually an improvement of filip, because as noted in the setup.py filip is officially compatible with python 3.7-3.9. For that I have opened a new issue #211 . I think by upgrading the version support of filip this issue will also be closed

Solved by #211