Trouble installing qiime2-2023.2 on Mac M1

Hi,

I am having serious trouble installing qiime2-2023.2 on a Mac M1.

I am using Rosetta.

At first it refused to install and mentioned a whole screed of conflicts. I tried uninstalling and reinstalling miniforge3/miniconda3 (i am running parallel instances) but this did nothing.

I then noticed the error message "Note that strict channel priority may have removed packages required for satisfiability.",

I removed strict channel priority using the command: conda config --set channel_priority false

This seemed to work and I was able to install qiime2-2023.2 in its own environment. However, now I get a new error message, when I activate the qiime2-2023.2 conda environment:"ModuleNotFoundError: No module named 'q2_types_genomics'"

I have no idea what to do now. Any advice would be gratefully received

The full error message:

conda activate qiime2-2023.2
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/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/util.py", line 266, in get_plugin_manager
return qiime2.sdk.PluginManager.reuse_existing()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/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/alan02/miniconda3/envs/qiime2-2023.2/bin/qiime", line 11, in
sys.exit(qiime())
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 1054, in main
with self.make_context(prog_name, args, **extra) as ctx:
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 920, in make_context
self.parse_args(ctx, args)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/click/command.py", line 43, in parse_args
return super().parse_args(ctx, args)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 1610, in parse_args
echo(ctx.get_help(), color=ctx.color)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 699, in get_help
return self.command.get_help(self)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 1298, in get_help
self.format_help(ctx, formatter)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/click/core.py", line 1331, in format_help
self.format_options(ctx, formatter)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/click/command.py", line 157, in format_options
for subcommand in self.list_commands(ctx):
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/commands.py", line 92, in list_commands
plugins = sorted(self._plugin_lookup)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/commands.py", line 76, in _plugin_lookup
import q2cli.core.cache
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/core/cache.py", line 285, in
CACHE = DeploymentCache()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/core/cache.py", line 61, in init
self._state = self._get_cached_state(refresh=refresh)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state
self._cache_current_state(current_requirements)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/core/cache.py", line 205, in _cache_current_state
state = self._get_current_state()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/core/cache.py", line 253, in _get_current_state
plugin_manager = q2cli.util.get_plugin_manager()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/util.py", line 278, in get_plugin_manager
return qiime2.sdk.PluginManager()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 67, in new
self._init(add_plugins=add_plugins)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 105, in _init
plugin = entry_point.load()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/pkg_resources/init.py", line 2477, in load
return self.resolve()
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/pkg_resources/init.py", line 2483, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/Users/alan02/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/rescript/plugin_setup.py", line 11, in
from q2_types_genomics.genome_data import GenomeData, Loci, Proteins
ModuleNotFoundError: No module named 'q2_types_genomics'

Hello @aghudson,

Can you share the exact steps you followed to install qiime, in other words the commands you entered in the terminal?

1 Like

Hi,

Here are the steps I took:

Hi @aghudson,

You mentioned the strict channel priority setting in your initial attempt to install QIIME 2 - is that something you have enabled in your .condarc? The reason I ask is because that shouldn't be something you need to disable when installing QIIME 2.

1 Like

Hi @lizgehret,

I tried installing Qiime2 as normal. After the first (maybe second) attempt, the installation had completely failed and at the bottom of the error message there was the statement "Note that strict channel priority may have removed packages required for satisfiability."

I therefore added the code line (via terminal): conda config --set channel_priority false. This at least allowed Qiime2 to install successfully. I then ran into the problems mentioned above, when trying to use Qiime2.

I don't have enough experience with conda to know if this was something enabled in my .condarc, but I am guessing not.

I have a feeling these issues may be due to running parallel instances of conda (miniconda (Rosetta), miniforge (Mac silicon)) but would like to get some confirmation (see: Managing multiple architecture specific installations of conda on apple m1)

Hi @aghudson,

Ah, thanks for bringing up the parallel instances again - I did miss that in your original message, my apologies. Do you have a need for both miniconda through Rosetta and miniforge through M1? I also can't confirm that this is the issue, but I strongly suspect that's the culprit. If possible, I'd recommend removing miniforge, and just trying a fresh install using miniconda - but if you need miniforge for other tools, we'll try and find a workaround.

Cheers :lizard:

Ok, removed miniforge3. Reinstalled miniconda3. Followed the Qiime2 installation instructions. Still have issues.

One thing that I am not sure about is whether to install the M1 version or the Intel version of Miniconda 3 for use with Qiime2.

Either way, I get the following error message from Conda:
"UserWarning: zstandard could not be imported. Running without .conda support.
warnings.warn("zstandard could not be imported. Running without .conda support.")"

Sorry forgot to add, the error message when installing qiime2 is:

Solving environment: failed

ResolvePackageNotFound:

  • r-ggbeeswarm=0.7.1
  • mpc=1.3.1
  • iniconfig=2.0.0
  • jupyter_events=0.6.3
  • r-formula=1.2_5
  • r-fansi=1.0.4
  • r-e1071=1.7_13
  • platformdirs=3.0.0
  • r-stringr=1.5.0
  • python-json-logger=2.0.7
  • altair=4.2.2
  • wcwidth=0.2.6
  • r-cachem=1.0.7
  • jupyter_server_terminals=0.4.4
  • openssl=3.0.8
  • r-openssl=2.0.5
  • r-bibtex=0.5.1
  • jupyter_client=8.0.3
  • r-formatr=1.14
  • r-broom=1.0.3
  • r-energy=1.7_11
  • debugpy=1.6.6
  • r-jsonlite=1.8.4
  • r-rmpfr=0.9_1
  • r-readxl=1.4.2
  • r-yaml=2.3.7
  • natsort=8.3.0
  • r-rbibutils=2.2.13
  • r-bslib=0.4.2
  • mistune=2.0.5
  • r-gmp=0.7_1
  • xyzservices=2023.2.0
  • nbconvert-core=7.2.9
  • r-foreign=0.8_84
  • pytz=2022.7.1
  • ipykernel=6.21.2
  • r-cli=3.6.0
  • nbclient=0.7.2
  • pyzmq=25.0.0
  • r-sass=0.4.5
  • yq=3.1.1
  • r-png=0.1_8
  • nbconvert=7.2.9
  • r-vroom=1.6.1
  • importlib_resources=5.12.0
  • r-nlme=3.1_162
  • ca-certificates=2022.12.7
  • r-codetools=0.2_19
  • r-knitr=1.42
  • r-dbplyr=2.3.1
  • r-ggrepel=0.9.3
  • r-digest=0.6.31
  • r-desctools=0.99.48
  • r-ade4=1.7_22
  • krb5=1.20.1
  • lz4=4.3.2
  • r-utf8=1.2.3
  • r-readr=2.1.4
  • r-dtplyr=1.3.0
  • r-dorng=1.8.6
  • pyrsistent=0.19.3
  • pytest=7.2.1
  • libnghttp2=1.51.0
  • r-isoband=0.2.7
  • r-boot=1.3_28.1
  • r-ape=5.7
  • r-matrixstats=0.63.0
  • traitlets=5.9.0
  • r-httr=1.4.5
  • requests=2.28.2
  • r-colorspace=2.1_0
  • r-gsl=2.1_8
  • asttokens=2.2.1
  • websocket-client=1.5.1
  • r-timechange=0.2.0
  • nbconvert-pandoc=7.2.9
  • zipp=3.15.0
  • r-htmlwidgets=1.6.1
  • r-stringi=1.7.12
  • r-purrr=1.0.1
  • jupyter_server=2.3.0
  • r-tidytree=0.4.2
  • networkx=3.0
  • nbformat=5.7.3
  • r-evaluate=0.20
  • fontconfig=2.14.2
  • r-survival=3.5_3
  • perl-parent=0.241
  • r-data.table=1.14.8
  • r-htmltools=0.5.4
  • markupsafe=2.1.2
  • r-emmeans=1.8.4_1
  • r-tidyr=1.3.0
  • beautifulsoup4=4.11.2
  • r-hmisc=4.8_0
  • r-ggplot2=3.4.1
  • r-rcppparallel=5.1.6
  • r-sp=1.6_0
  • r-bh=1.81.0_1
  • r-osqp=0.6.0.8
  • prometheus_client=0.16.0
  • bleach=6.0.0
  • harfbuzz=6.0.0
  • r-jpeg=0.1_10
  • r-dplyr=1.1.0
  • r-expm=0.999_7
  • r-yulab.utils=0.0.6
  • attrs=22.2.0
  • r-statmod=1.5.0
  • r-rcpp=1.0.10
  • r-lubridate=1.9.2
  • pango=1.50.13
  • jedi=0.18.2
  • seaborn-base=0.12.2
  • r-forcats=1.0.0
  • r-tinytex=0.44
  • r-mass=7.3_58.2
  • r-igraph=1.4.1
  • contourpy=1.0.7
  • r-pkgmaker=0.32.8
  • r-rmarkdown=2.20
  • perl-extutils-makemaker=7.66
  • exceptiongroup=1.1.0
  • r-class=7.3_21
  • r-vctrs=0.5.2
  • stack_data=0.6.2
  • llvm-openmp=15.0.7
  • r-xfun=0.37
  • setuptools=67.4.0
  • r-rcurl=1.98_1.10
  • r-fs=1.6.1
  • r-fastmap=1.1.1
  • r-gargle=1.3.0
  • ijson=3.2.0.post0
  • r-highr=0.10
  • r-rsqlite=2.2.20
  • python-fastjsonschema=2.16.3
  • libcxx=15.0.7
  • pygments=2.14.0
  • wrapt=1.15.0

Hey @aghudson,

Go ahead and remove these unsuccessful QIIME 2 environments, run conda clean --all, and then move forward with the install instructions for an Intel chip (this is Rosetta's purpose - it enables software built for an Intel chip to run on the M1 chip). If you are unsuccessful this time around, please copy/paste all of your commands along with the full traceback. Thanks!

2 Likes

Unfortunately, installing the Miniconda3 macOS Intel version and then following the MacOS (Apple Silicon) Qiime2 installation instructions, still fails with the following error message:

Solving environment: failed

ResolvePackageNotFound:

  • r-openssl=2.0.5
  • r-sass=0.4.5
  • r-rmarkdown=2.20
  • libnghttp2=1.51.0
  • krb5=1.20.1
  • asttokens=2.2.1
  • r-lubridate=1.9.2
  • nbconvert-pandoc=7.2.9
  • prometheus_client=0.16.0
  • r-gsl=2.1_8
  • r-dplyr=1.1.0
  • r-tinytex=0.44
  • r-colorspace=2.1_0
  • r-mass=7.3_58.2
  • r-sp=1.6_0
  • r-stringr=1.5.0
  • r-evaluate=0.20
  • altair=4.2.2
  • harfbuzz=6.0.0
  • r-rcurl=1.98_1.10
  • r-foreign=0.8_84
  • perl-parent=0.241
  • r-rcppparallel=5.1.6
  • r-dorng=1.8.6
  • r-rsqlite=2.2.20
  • r-stringi=1.7.12
  • r-forcats=1.0.0
  • openssl=3.0.8
  • r-utf8=1.2.3
  • lz4=4.3.2
  • jedi=0.18.2
  • r-vctrs=0.5.2
  • r-yaml=2.3.7
  • r-xfun=0.37
  • r-ggbeeswarm=0.7.1
  • r-emmeans=1.8.4_1
  • r-matrixstats=0.63.0
  • r-rmpfr=0.9_1
  • yq=3.1.1
  • r-boot=1.3_28.1
  • ca-certificates=2022.12.7
  • r-bh=1.81.0_1
  • nbconvert-core=7.2.9
  • r-ggplot2=3.4.1
  • zipp=3.15.0
  • r-formatr=1.14
  • requests=2.28.2
  • r-codetools=0.2_19
  • attrs=22.2.0
  • r-isoband=0.2.7
  • r-survival=3.5_3
  • r-statmod=1.5.0
  • pango=1.50.13
  • r-tidyr=1.3.0
  • exceptiongroup=1.1.0
  • nbconvert=7.2.9
  • r-energy=1.7_11
  • pyzmq=25.0.0
  • r-gmp=0.7_1
  • xyzservices=2023.2.0
  • r-fs=1.6.1
  • python-json-logger=2.0.7
  • r-timechange=0.2.0
  • r-knitr=1.42
  • r-fastmap=1.1.1
  • r-ade4=1.7_22
  • r-osqp=0.6.0.8
  • r-cachem=1.0.7
  • networkx=3.0
  • markupsafe=2.1.2
  • r-rcpp=1.0.10
  • r-igraph=1.4.1
  • natsort=8.3.0
  • seaborn-base=0.12.2
  • libcxx=15.0.7
  • r-expm=0.999_7
  • wcwidth=0.2.6
  • r-hmisc=4.8_0
  • r-digest=0.6.31
  • r-formula=1.2_5
  • r-httr=1.4.5
  • wrapt=1.15.0
  • platformdirs=3.0.0
  • importlib_resources=5.12.0
  • websocket-client=1.5.1
  • jupyter_client=8.0.3
  • nbformat=5.7.3
  • r-nlme=3.1_162
  • r-gargle=1.3.0
  • r-ggrepel=0.9.3
  • jupyter_server=2.3.0
  • r-png=0.1_8
  • fontconfig=2.14.2
  • r-readr=2.1.4
  • r-jsonlite=1.8.4
  • perl-extutils-makemaker=7.66
  • ijson=3.2.0.post0
  • bleach=6.0.0
  • r-broom=1.0.3
  • r-fansi=1.0.4
  • stack_data=0.6.2
  • r-vroom=1.6.1
  • pygments=2.14.0
  • mistune=2.0.5
  • jupyter_events=0.6.3
  • r-readxl=1.4.2
  • python-fastjsonschema=2.16.3
  • r-htmlwidgets=1.6.1
  • r-ape=5.7
  • r-data.table=1.14.8
  • r-class=7.3_21
  • r-cli=3.6.0
  • r-pkgmaker=0.32.8
  • r-rbibutils=2.2.13
  • r-tidytree=0.4.2
  • nbclient=0.7.2
  • ipykernel=6.21.2
  • iniconfig=2.0.0
  • pytest=7.2.1
  • r-yulab.utils=0.0.6
  • r-highr=0.10
  • r-dbplyr=2.3.1
  • llvm-openmp=15.0.7
  • r-bslib=0.4.2
  • pyrsistent=0.19.3
  • pytz=2022.7.1
  • mpc=1.3.1
  • setuptools=67.4.0
  • contourpy=1.0.7
  • beautifulsoup4=4.11.2
  • jupyter_server_terminals=0.4.4
  • r-desctools=0.99.48
  • r-jpeg=0.1_10
  • r-bibtex=0.5.1
  • debugpy=1.6.6
  • r-purrr=1.0.1
  • r-e1071=1.7_13
  • r-dtplyr=1.3.0
  • r-htmltools=0.5.4
  • traitlets=5.9.0

I think I have found a working solution (mostly).

I deleted all my miniconda/miniforge installations. I installed Anaconda3 for Mac silicon. I then followed the Qiime2 instructions for MacOS (Apple silicon)

wget https://data.qiime2.org/distro/core/qiime2-2023.2-py38-osx-conda.yml
CONDA_SUBDIR=osx-64 conda env create -n qiime2-2023.2 --file qiime2-2023.2-py38-osx-conda.yml
conda activate qiime2-2023.2
conda config --env --set subdir osx-64

This seems very obvious but was quite confusing with parallel installations of miniconda3 (Intel version/miniforge3 (Apple silicon) and parallel terminals (one rosetta/one normal). AIUI this creates a little standalone conda environment that is run in Rosetta mode through a normal terminal window.

The Qiime2 conda environment now loads without error messages and without complaints. Now onto the next installation issue (with RESCRIPt).

Thanks everyone for the advice

2 Likes

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