Skip to content

empress and rachis-qiime2-2026.7 #571

Description

@ARW-UBT

Hello,
I have experience some issues after adding empress to the most recent qiime2 release via pip install empress

Building wheels for collected packages: empress
  Building wheel for empress (pyproject.toml) ... done
  Created wheel for empress: filename=empress-1.2.0-py3-none-any.whl size=295022 sha256=993ec9754173cad02b63c167fd0997877b9286dc27a843bbb088337791dcb1aa
  Stored in directory: /home/bt140047/.cache/pip/wheels/60/63/14/2bfe3b8deac71153ebbf96f464dc40677f9789fbb6709a639a
Successfully built empress
Installing collected packages: cython, empress
Successfully installed cython-3.3.0 empress-1.2.0

Although it seems to be ok, the `qiime dev refresh-cache `command results in this error messages: 

Although it seems to be ok, the qiime dev refresh-cache command results in this error messages:

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 "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/util.py", line 277, in get_plugin_manager
    return qiime2.sdk.PluginManager.reuse_existing()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/rachis/sdk/plugin_manager.py", line 64, in reuse_existing
    raise UninitializedPluginManagerError
rachis.sdk.plugin_manager.UninitializedPluginManagerError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/bin/qiime", line 11, in <module>
    sys.exit(qiime())
             ^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/click/core.py", line 1691, in invoke
    cmd_name, cmd, args = self.resolve_command(ctx, args)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/click/core.py", line 1738, in resolve_command
    cmd = self.get_command(ctx, cmd_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/commands.py", line 100, in get_command
    plugin = self._plugin_lookup[name]
             ^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/commands.py", line 76, in _plugin_lookup
    import q2cli.core.cache
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/core/cache.py", line 276, in <module>
    CACHE = DeploymentCache()
            ^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/core/cache.py", line 61, in __init__
    self._state = self._get_cached_state(refresh=refresh)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state
    self._cache_current_state(current_requirements)
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/core/cache.py", line 196, in _cache_current_state
    state = self._get_current_state()
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/core/cache.py", line 244, in _get_current_state
    plugin_manager = q2cli.util.get_plugin_manager()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/q2cli/util.py", line 289, in get_plugin_manager
    return qiime2.sdk.PluginManager()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/rachis/sdk/plugin_manager.py", line 73, in __new__
    self._init(add_plugins=add_plugins)
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/rachis/sdk/plugin_manager.py", line 111, in _init
    plugin = entry_point.load()
             ^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/empress/__init__.py", line 9, in <module>
    from empress.core import Empress
  File "/home/bt140047/miniconda3/envs/rachis-qiime2-2026.7/lib/python3.12/site-packages/empress/core.py", line 19, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

I found out that downgrading setuptools to 80.x causes tomlkit to be downgraded to 0.13 (rachis-qiime2-2026.7 has 0.15.1).
However, empress works now as expected, but I am wondering whether I do introduce other issues to the rachis-qiime2 release.

My idea was to install empress in a rachis-tiny env, but the latest release also has tomlkit 0.15.1 installed. As I would not use the tiny env for the other qiime2 analysis steps, I am wondering whether it would be safe to use empress and tomlkit 0.13 via a separate tiny environment.

Best regards

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugrefactoringUse best practices or improve the usage of public APIsuser support

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions