Trouble installing q2-perc-norm

@cduvallet
For some reason, it doesn’t work for my qiime2-2019.1 env. conda installation seems okay but I don’t it listed in the plugins. I repeated the insulation and it indicates “# All requested packages already installed.”

Alternatively, it works fine in qiime2-2018.8 env on the same computer. What could be the reason

Hi @prince,

Can you provide more information about your qiime2 installation, the steps you took to try to install the plugin, and any outputs or errors that you get? Otherwise, I don’t have enough information to help you. Thanks!

1 Like

Hi @cduvallet,

Below are screen shots of the steps I took.
conda activate qiime2-2019.1

conda install -c cduvallet q2_perc_norm

I tried qiime2 from another terminal after the installation but still could find perc_norm

Hi @prince and @cduvallet,

I think I know whats going on, although I’m surprised conda didn’t error.

First just to get our ducks in a row, run:

qiime dev refresh-cache

(This shouldn’t matter, because it automatically detects new versions and re-runs itself as needed, but if everything was working as expected we’d see perc-norm in the list…)


What I think may have happened is the conda build for q2-perc-norm uses Python 3.5. As of 2019.1 we switched to Python 3.6, this means existing conda packages should be rebuilt for 3.6 (or built as no-arch).

We haven’t made any changes to the plugin API, so q2-perc-norm should still work with the latest QIIME 2 version just fine. What we could do is perform a source installation instead which won’t have the issue with Python 3.5 vs 3.6

If the source installation doesn’t work, then something much stranger is happening.

2 Likes

I just took a peek inside the conda package for q2_perc_norm, and it looks like there is no host requirement set on the version of Python, however the library is packaged under:

/lib/python3.5/site-packages

which is meaningless to a 3.6 environment (which uses /lib/python3.6/site-packages).


Good news is a source install seems to work fine!

Thanks, @ebolyen! Yep, I hadn’t updated my package since everything switched to Python 3.6.

I just re-built the package with Python 3.6 and uploaded it to anaconda, so you should be able to update the package with conda directly and everything will work as expected.

For posterity’s sake, what @ebolyen meant by “installing from source” is to clone the repo and then run python setup.py install directly:

git clone https://github.com/cduvallet/q2-perc-norm.git 
cd q2-perc-norm
python setup.py install
1 Like