Conflicts found! Workaround by installing Qiime2 without .yml?


I'm trying to install the latest version of Qiime2 as a user on an HPC (I don't have write permissions to base conda to update it or run a clean install, which seems to fix this issue for others having similar conda problems). It's all fine on my local machine, which is running linux - just need the compute.

When trying to install qiime2 in a new environment, as outlined in the tutorials - I get hundreds of package conflicts and conda spends 12+ hours 'solving environment'. This results in a long list of dependency issues and eventual failure.

To get around this, I've created a new qiime2 environment, then installed qiime 2 like this:

conda create -n qiime2-2023.5
conda activate qiime2-2023.5
conda install -c "qiime2/label/r2023.5" qiime2

This seems to work fine - and the new environment's folder hierarchy is populated.
But, it doesn't install all of the dependencies from the .yml file.
Also, trying to use qiime commands results in the following:

(qiime2-2023.5) [USER@p2-log-1 qiime2-2023.5] qiime
-bash: qiime: command not found

Have also tried updating the existing environment with the .yml file using:

conda env update --file qiime2-2023.5-py38-linux-conda.yml
Which results in similar outcomes with 48h waits for conda to solve the environment and fail due to dependencies.
I've tried everything on the conda side here, including changing channel priority flexible/strict

Is there an easy way to install qiime without the .yml (using conda install seems to work okay), or another way around this? I'm at the point where I'm about to manually run through the .yml and install each dependency manually, or ask the admin to clean install miniconda/mamba, but thought I'd better check I've not missed something obvious here.

Here is my conda info:

active environment : qiime2-2023.5
active env location : /hpcfs/users/$USER/myconda/envs/qiime2-2023.5
shell level : 2
user config file : /home/$USER/.condarc
populated config files : /home/$USER/.condarc
conda version : 4.8.3
conda-build version : 3.18.11
python version :
virtual packages : __cuda=11.6
base environment : /apps/skl/software/Anaconda3/2020.07 (read only)
channel URLs : conda-forge/linux-64
package cache : /hpcfs/users/$USER/myconda/pkgs
envs directories : /hpcfs/users/$USER/myconda/envs
platform : linux-64
user-agent : conda/4.8.3 requests/2.24.0 CPython/3.8.3 Linux/4.18.0-305.el8.x86_64 rhel/8.4 glibc/2.28
UID:GID : 1667276:1667276
netrc file : None
offline mode : False

Hello @cckeneally,

The command conda install -c "qiime2/label/r2023.5" qiime2 only installs the qiime2 package. This results in far from a usable qiime environment, and doesn't even have the command line interface set up as you found out with the -bash: qiime: command not found error.

Running through the environment.yml file and installing each package manually is presumably similar to what conda env create does itself, so I would imagine this would result in the same conflict errors. It would be interesting to confirm this though, and a bash script to do this wouldn't be too hard.

It is strange that you are getting package conflicts for a brand new environment. I suppose you could share the contents of your .condarc file and the output of the conda --version command.

Installing and using micromamba shouldn't need to involve admin support, you could trying using this to solve the environment, it has solved problems for me in the past (pun intended).

1 Like

Hi Colin,

Thanks so much for the micromamba suggestion - I installed it in my new conda env and was able to use it to install qiime as normal:

conda install -c conda-forge micromamba
micromamba create -n qiime2-2023.5 -f qiime2-2023.5-py38-linux-conda.yml

For reference, here is my .condarc file:

cat /home/$USER/.condarc

  • /hpcfs/users/$USER/myconda/pkgs
  • /hpcfs/users/$USER/myconda/envs
  • conda-forge
  • bioconda
  • defaults
    channel_priority: flexible

Not sure what the problem with conda was, but thanks again for your help!

1 Like

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