qiime info FileNotFoundError on 2024.10 amplicon Docker

Hello,
I just pull the latest 2024.10 amplicon docker image and I got an error when running the qiime info command, here's the command result

docker run -t -i -v $(pwd):/data Quay qiime info
System versions
Python version: 3.10.14
QIIME 2 release: 2024.10
QIIME 2 version: 2024.10.1
q2cli version: 2024.10.1

Installed plugins
alignment: 2024.10.0
composition: 2024.10.0
cutadapt: 2024.10.0
dada2: 2024.10.0
deblur: 2024.10.0
demux: 2024.10.0
diversity: 2024.10.0
diversity-lib: 2024.10.0
emperor: 2024.10.0
feature-classifier: 2024.10.0
feature-table: 2024.10.0
fragment-insertion: 2024.10.0
longitudinal: 2024.10.0
metadata: 2024.10.0
phylogeny: 2024.10.0
quality-control: 2024.10.0
quality-filter: 2024.10.0
rescript: 2024.10.0
sample-classifier: 2024.10.0
stats: 0+unknown
taxa: 2024.10.0
types: 2024.10.0
vizard: 0.0.1.dev0
vsearch: 2024.10.0

Application config directory
/home/qiime2/q2cli

Config
Traceback (most recent call last):
File "/opt/conda/envs/qiime2-amplicon-2024.10/bin/qiime", line 11, in
sys.exit(qiime())
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/builtin/info.py", line 68, in info
get_vendored_config()
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/parallel_config.py", line 106, in get_vendored_config
config_fp = _get_vendored_config_path()
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/parallel_config.py", line 168, in _get_vendored_config_path
with open(VENDORED_FP, 'w') as fh:
FileNotFoundError: [Errno 2] No such file or directory: '/home/qiime2/.conda/qiime2-amplicon-2024.10/etc/qiime2_config.toml'

This bug was not present in amplicon 2024.5 docker image.

Thank you !

Hey @Patg13,

Welcome to the :qiime2: forum!

Thanks for reaching out and bringing this to our attention! I was able to reproduce this on my end, and you're absolutely right - this is only an issue in 2024.10. I'm working on a fix for this as we speak, and will circle back as soon as it's been resolved. Thanks so much for your patience!

2 Likes

Hey @Patg13,

Thanks for your patience! This issue has been fixed - go ahead and pull the updated 2024.10 amplicon image, and you should be all set.

Cheers :lizard:

1 Like

Hi, I tested the new image, it's working...But something is different, normally, I bootstrap this docker image with Apptainer to generate a frozen SIF image, which I use on systems that does not support Docker, but now when I launch any qiime2 command, I hit this error
Traceback (most recent call last):
File "/opt/conda/envs/qiime2-amplicon-2024.10/bin/qiime", line 11, in
sys.exit(qiime())
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1077, in main
with self.make_context(prog_name, args, **extra) as ctx:
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 943, in make_context
self.parse_args(ctx, args)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/click/command.py", line 43, in parse_args
return super().parse_args(ctx, args)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1641, in parse_args
echo(ctx.get_help(), color=ctx.color)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 704, in get_help
return self.command.get_help(self)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1325, in get_help
self.format_help(ctx, formatter)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/click/core.py", line 1358, in format_help
self.format_options(ctx, formatter)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/click/command.py", line 157, in format_options
for subcommand in self.list_commands(ctx):
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/commands.py", line 92, in list_commands
plugins = sorted(self._plugin_lookup)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/commands.py", line 76, in _plugin_lookup
import q2cli.core.cache
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/core/cache.py", line 285, in
CACHE = DeploymentCache()
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/core/cache.py", line 58, in init
self._cache_dir = self._get_cache_dir()
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/core/cache.py", line 85, in _get_cache_dir
os.makedirs(cache_dir, exist_ok=True)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/os.py", line 215, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/opt/conda/envs/qiime2-amplicon-2024.10/lib/python3.10/os.py", line 225, in makedirs
mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/home/qiime2/q2cli'

I'm not sure what changed, but since /home/qiime2 is inside the container, it can only be written during the building phase. I tried to force cache refresh during the build, but it didn't help. Do you have any ideas about why it's reacting differently than before ?

Thank you

Hey @Patg13,

Sorry for the delayed reply!

Would you mind sharing your Apptainer definition file? I'll see if I can reproduce this on my end. For full transparency I don't have much experience with Apptainer - but I'm curious if this is a general issue in Apptainer containers, or if there's any additional customization you have that might be causing this.

Cheers :lizard: