Skip to content

Missing dependencies during installation of dingo #121

@adot-7

Description

@adot-7

I followed the README installation instructions. Running the tests fails with ModuleNotFoundError: No module named 'volestipy'.

Also, poetry install fails because build.py imports setuptools, which produces the error ModuleNotFoundError: No module named 'setuptools'. I believe this happens because setuptools is not included in the [build-system].requires list in pyproject.toml.

To Reproduce

  1. Fork and clone the repository and cd into the clone directory
  2. set the python version to 3.8.x( I did this by pyenv local 3.8.20 and confirmed the version by python --version)
  3. git submodule update --init
  4. Follow the README for downloading Boost & Ipsolve libraries.
  5. Install system dependencies( since I am on Fedora, I did this by sudo dnf install suitesparse suitesparse-devel )
  6. install poetry by curl -sSL https://install.python-poetry.org | python3 - --version 1.3.2
  7. poetry install
    Observe the setuptools error. After I added 'setuptools' to the [build-system].requires list in pyproject.toml, the installation completed without errors.
  8. install gurobi (not mandatory to reproduce the error)
  9. Execute python tests/fba.py
    Observe the error:
Traceback (most recent call last):
  File "tests/fba.py", line 12, in <module>
    from dingo import MetabolicNetwork
  File "/home/adot/projects/geomscaleTesting/dingo/dingo/__init__.py", line 28, in <module>
    from dingo.PolytopeSampler import PolytopeSampler
  File "/home/adot/projects/geomscaleTesting/dingo/dingo/PolytopeSampler.py", line 22, in <module>
    from volestipy import HPolytope
ModuleNotFoundError: No module named 'volestipy'

Expected behavior

  • poetry install should execute without error. Adding 'setuptools' to [build-system].requires list pyproject.toml is necessary for this.

  • Running the tests should execute without error.

Environment
OS: Fedora Linux 42
Python: 3.8.20

Additional context
I can prepare a PR adding setuptools to the build-system requires list. I am still trying to figure out the volestipy dependency part though. I would appreciate any guidance on this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions