Skip to content
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

Unable to install GECCO via pip or conda #18

Open
danudwary opened this issue Jan 29, 2025 · 2 comments
Open

Unable to install GECCO via pip or conda #18

danudwary opened this issue Jan 29, 2025 · 2 comments

Comments

@danudwary
Copy link

I have been unable to install the current version of GECCO in a conda environment.

$ conda --version
conda 24.11.1

Fails using a freshly installed miniconda3:

$ conda create -p /<redacted>/software/condaenvs/gecco -c bioconda gecco
Channels:
 - bioconda
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - nothing provides sklearn-crfsuite >=0.3.6 needed by gecco-0.6.2-pyhdfd78af_0

Could not solve for environment specs
The following packages are incompatible
└─ gecco is not installable because there are no viable options
   ├─ gecco [0.6.2|0.6.3|...|0.9.6] would require
   │  └─ sklearn-crfsuite >=0.3.6 , which does not exist (perhaps a missing channel);
   └─ gecco [0.9.10|0.9.8] would require
      └─ fisher >=0.1.9 , which does not exist (perhaps a missing channel).

Adding conda-forge to pick up scikit-learn gets a little farther:

$ conda create -p /<redacted>/software/condaenvs/gecco -c bioconda -c conda-forge gecco
Channels:
 - bioconda
 - conda-forge
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: / warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
...
failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package gecco-0.6.2-pyhdfd78af_0 requires biopython >=1.78, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
└─ gecco is not installable because there are no viable options
   ├─ gecco [0.6.2|0.6.3|0.7.0] would require
   │  └─ biopython >=1.78 , which conflicts with any installable versions previously reported;
   └─ gecco [0.8.0|0.8.10|...|0.9.8] would require
      └─ biopython >=1.73 , which conflicts with any installable versions previously reported.

Next I tried creating an empty conda environment, then installing with pip, but it fails as well on something different:

      [1/1] Cythonizing colibricore_wrapper.pyx
      error: unknown file type '.pxd' (from 'colibricore_classes.pxd')
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for colibricore
Failed to build colibricore
ERROR: Failed to build installable wheels for some pyproject.toml based projects (colibricore)
@danudwary
Copy link
Author

Ah! Never mind. If I reverse the channel order, it worked. Leaving this here for anyone else who has trouble in the future.

$ conda create -p /<redacted>/software/condaenvs/gecco -c conda-forge -c bioconda gecco
Channels:
 - conda-forge
 - bioconda
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

@althonos
Copy link
Member

@danudwary Glad you got it working!

Next I tried creating an empty conda environment, then installing with pip, but it fails as well on something different:

I think you may have tried to pip install gecco instead of pip install gecco-tool and that tried to install GECCO the NLP library, that's why it was trying to compile colibricore. Otherwise I'm pretty sure the pip install is the easiest way because it doesn't need additional libraries. Some libraries that are used only for training (namely fisher) have not the most reactive maintenance so it's not always easy to install, but given that it's not needed for most users it's an optional dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants