biocore / qurro

Visualize differentially ranked features (taxa, metabolites, ...) and their log-ratios across samples
https://biocore.github.io/qurro
BSD 3-Clause "New" or "Revised" License
30 stars 10 forks source link

Installation error "pip's dependency resolver does not currently take into account all the packages that are installed." #330

Open ivanllampy opened 5 months ago

ivanllampy commented 5 months ago

Hi all

Describe the bug An error occurs during installation: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. umap-learn 0.5.4 requires tbb>=2019.0, which is not installed.

To Reproduce Install Qurro by: pip install qurro

Expected behavior Qurro is expected to be installed properly

Screenshots Not applicable

Desktop (please complete the following information):

Are you running Qurro through QIIME 2 or outside of QIIME 2? Inside Qiime2 version 2023.7 and version amplicon-2023.9

What version of Qurro are you using? I have tried installing version 0.7.0 to 0.8.0

Additional context After the error above, for every command I ran in Qiime2 environment, a long list of error appears until I uninstall Qurro: QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment. Traceback (most recent call last): File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/util.py", line 279, in get_plugin_manager return qiime2.sdk.PluginManager.reuse_existing() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 58, in reuse_existing raise UninitializedPluginManagerError qiime2.sdk.plugin_manager.UninitializedPluginManagerError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/bin/qiime", line 11, in <module> sys.exit(qiime()) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1682, in invoke cmd_name, cmd, args = self.resolve_command(ctx, args) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1729, in resolve_command cmd = self.get_command(ctx, cmd_name) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/commands.py", line 100, in get_command plugin = self._plugin_lookup[name] File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/commands.py", line 76, in _plugin_lookup import q2cli.core.cache File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 285, in <module> CACHE = DeploymentCache() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 61, in __init__ self._state = self._get_cached_state(refresh=refresh) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state self._cache_current_state(current_requirements) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 205, in _cache_current_state state = self._get_current_state() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 253, in _get_current_state plugin_manager = q2cli.util.get_plugin_manager() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/util.py", line 291, in get_plugin_manager return qiime2.sdk.PluginManager() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 67, in __new__ self._init(add_plugins=add_plugins) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 105, in _init plugin = entry_point.load() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2518, in load return self.resolve() File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2524, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/gemelli/q2/plugin_setup.py", line 13, in <module> from gemelli.ctf import (ctf, phylogenetic_ctf, File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/gemelli/ctf.py", line 2, in <module> import skbio File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/skbio/__init__.py", line 11, in <module> import skbio.io # noqa File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/skbio/io/__init__.py", line 248, in <module> import_module('skbio.io.format.lsmat') File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/skbio/io/format/lsmat.py", line 77, in <module> from skbio.stats.distance import DissimilarityMatrix, DistanceMatrix File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/skbio/stats/distance/__init__.py", line 197, in <module> from ._mantel import mantel, pwmantel File "/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/skbio/stats/distance/_mantel.py", line 16, in <module> from scipy.stats import ConstantInputWarning ImportError: cannot import name 'ConstantInputWarning' from 'scipy.stats' (/Users/ivanllampy/miniconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/scipy/stats/__init__.py)

Any help would be highly appreciated! Thank you.

ivanllampy commented 5 months ago

In addition, if install using conda, the following error appears: `UnsatisfiableError: The following specifications were found to be incompatible with the existing python installation in your environment: Specifications:

It seems like there is a conflict with python version. I am going through other threads regarding the version issue. Are there any simple fix? Highly appreciate, and thank you!

fedarko commented 5 months ago

Hi @ivanllampy -- sorry, I lost track of this. One of the packages that Qurro depends upon (#216) requires an old version of Python, which prevents Qurro from being installed into recent QIIME 2 environments.

It should be possible for me to update Qurro and fix it to work with newer QIIME 2 environments -- I hope to do this as soon as I can. In the meantime, the workaround solutions (neither of which are ideal) involve either (1) installing an old version of QIIME 2 to run Qurro in or (2) running Qurro outside of QIIME 2. Please see this comment for details on these two workarounds.

Sorry for the trouble -- I'll try to have this resolved soon.

ivanllampy commented 5 months ago

Thank you for your reply, I will try both options. Looking forward to the updates!

Thanks!