q2-boots and new QIIME 2 Library installation questions

Hi @gregcaporaso
I read the documentation and preprint of q2-boots and would like to use it in q2-amplicon-2024.10.
I assumed that q-boots could be installed in an activated q2-amplicon-2024.10 conda environment, but this install command did not work:

conda install -f https://raw.githubusercontent.com/qiime2/q2-boots/main/environment-files/q2-boots-qiime2-amplicon-2024.10.yml

Error message:

PackagesNotFoundError: The following packages are not available from current channels:

  - //raw.githubusercontent.com/qiime2/q2-boots/main/environment-files/q2-boots-qiime2-amplicon-2024.10.yml

I 'adopted' the install instructions from the q2-library portal, where an installation into a separate env is described. Is it possible to add this plugin to an existing environment via conda install?

After installing the standalone version, I have seen that most of the q-amplicon plugins are also available. Is q2-boots a full 'amplicon' distribution?

Best,

1 Like

Hi @arwqiime,

Thanks for your interest in q2-boots! Happy to clarify what's going on here - the install instructions for q2-boots are for a conda environment, rather than a single package install within an existing environment. It's not that q2-boots is a full amplicon distribution, but our install instructions provide it within an environment that also contains the amplicon distribution (as it will be commonly used with many plugins that are also contained within that distribution).

You can absolutely install q2-boots as a single package within an existing environment - which it sounds like you were able to do? But please follow up if that's not the case, and you need additional help getting that installed!

Cheers :lizard:

Hi @lizgehret

I have tried to do this with conda install as described above, but I received the error.

From my basic knowledge of conda, I assumend that the install instructions on the new library page conda env create -n q2-boots-2024.10.beta will create a new environment rather than installing it into an existing environment. That was the reason why I changed it to conda install to add boots to an existing q2-amplicon-2024.10 distributiion. Please correct me if I am wrong.
Best,

1 Like

Hi @arwqiime, Are you working from the "Quickstart install" instructions in the top right corner of this page? It should look like this:

I ask because those use conda env create/update as opposed to conda install, and the command you shared is a conda install command. As far as I can tell, conda install doesn't accept -f to specify a remote environment file (while conda env create does). Both accept --file for this.

I just tested a fresh install and updating an amplicon-2024.10 environment, and both worked for me using the instructions on the q2-boots library page. Can you try copy/pasting whichever of those you prefer (fresh install or update), and let us know if you're still having issues? Our intention is to support both options.

Thanks for your interest in q2-boots! And apologies to all for any confusion as we roll out our new library website!

2 Likes

Hi @gregcaporaso and @lizgehret
Thank you for your help, I was too much attracted by the "To learn how to install" link on the main q2-boots library page, and did completely overlook the top right corner! :frowning:

After a clean re-install of q2-amplicon-2024.10, I was able to 'update' with q2-boots.

The reason, why I had to start over with a new amplicon installation is due to the third-party plugins gemelli and empress, where I have to use a workaround to get them installed (see: Qiime2 Library Compatibility - #8 by colinbrislawn).
After q2-amplicon and q2-boots, I was able to get q2-gemelli and q2-empress also running.

The new library website is great (including the videos!), I just have to get used to it!
Best,

4 Likes

Thanks for pointing that out - I'll update that now. I suspect we'll have outdated references like this scattered throughout the stand-alone plugins as we make the transition - don't hesitate to let us know if you discover anything else like that!

Thank you! We're excited about it!

1 Like

It appears that q2-boots is not really installable into 2024.5 2025.4, at least on OS X using Apple Silicon. Despite the Library implying it can be installed. When I use the update option to install and then refresh the cache I get this error:

Traceback (most recent call last):
  File "/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/util.py", line 275, in get_plugin_manager
    return qiime2.sdk.PluginManager.reuse_existing()
  File "/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/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:

<a bunch of onscreen output>

ImportError: dlopen(/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so, 0x0002): tried: '/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (duplicate LC_RPATH '/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib'), '/System/Volumes/Preboot/Cryptexes/OS/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (no such file), '/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (duplicate LC_RPATH '/Users/mike/AnalysisSoftware/miniforge3/envs/qiime2-amplicon-2025.4/lib')
1 Like

Thanks @SoilRotifer. I installed it in 2025.4 (based on your error message, we think you mean 2025.4, not 2024.5) on Linux, but not on macOS yet - @cherman2 is trying it out now, we'll let you know what we figure out.

2 Likes

Hello all,

I also get an error after installing an amplicon 2025.4 environment, installing q2-boots, and running qiime info. I have an M-series Mac and use the rosetta & osx-64 subdir approach (only way to install on ARM Macs as of now). The full traceback is below.

Traceback (most recent call last):
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/util.py", line 275, in get_plugin_manager
    return qiime2.sdk.PluginManager.reuse_existing()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/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 "/opt/miniconda3/envs/qiime2-amplicon-2025.4/bin/qiime", line 11, in <module>
    sys.exit(qiime())
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/builtin/info.py", line 51, in info
    import q2cli.core.cache
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/core/cache.py", line 276, in <module>
    CACHE = DeploymentCache()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/core/cache.py", line 61, in __init__
    self._state = self._get_cached_state(refresh=refresh)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state
    self._cache_current_state(current_requirements)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/core/cache.py", line 196, in _cache_current_state
    state = self._get_current_state()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/core/cache.py", line 244, in _get_current_state
    plugin_manager = q2cli.util.get_plugin_manager()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2cli/util.py", line 287, in get_plugin_manager
    return qiime2.sdk.PluginManager()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/qiime2/sdk/plugin_manager.py", line 67, in __new__
    self._init(add_plugins=add_plugins)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/qiime2/sdk/plugin_manager.py", line 105, in _init
    plugin = entry_point.load()
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2_boots/__init__.py", line 13, in <module>
    from ._beta import beta, beta_collection, beta_average
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/q2_boots/_beta.py", line 14, in <module>
    from hdmedians import medoid
  File "/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/__init__.py", line 6, in <module>
    from .geomedian import geomedian, nangeomedian
ImportError: dlopen(/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so, 0x0002): tried: '/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (duplicate LC_RPATH '/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib'), '/System/Volumes/Preboot/Cryptexes/OS/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (no such file), '/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib/python3.10/site-packages/hdmedians/geomedian.cpython-310-darwin.so' (duplicate LC_RPATH '/opt/miniconda3/envs/qiime2-amplicon-2025.4/lib')
2 Likes

Oops! Yes I did mean 2025.4 sorry. I'll correct my initial post. :grimacing:

1 Like

The solution might just be to move hdmedians from the pip dependencies subsection up to the top dependencies section (here)--installing hdmedians with conda doesn't yield an error for me.

@SoilRotifer if you want a quick fix you can try installing the amplicon env, running conda install hdmedians, then installing q2-boots with the library command.

2 Likes

Thank @colinvwood! It looks like moving that did the trick. I installed via the updated yaml file. Thanks @ebolyen! I was able to install w/o issue, it appears to be working. :tada:

2 Likes

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.