I've used qiime2 for more than 5 years on Intel Mac. Recently, while using qiime2 on Jupyter notebook, I am facing the following error when performing a visualization. As a result, interactive figures are not shown.
Install QIIME 2 Jupyter extension with: jupyter serverextension enable --py qiime2 --sys-prefix
then restart your server.
(Interactive output not available on static notebook viewer services like nbviewer.)
Of cource, I've tried to run jupyter serverextension enable --py qiime2 --sys-prefix, which improved nothing, with following message.
A `_jupyter_server_extension_points` function was not found in nbclassic. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
Extension package qiime2 took 1.1737s to import
A `_jupyter_server_extension_points` function was not found in qiime2. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
Enabling: qiime2
- Writing config: /Users/<User name>/miniconda3/envs/qiime2-amplicon-2024.10/etc/jupyter
- Validating qiime2...
qiime2 OK
- Extension successfully enabled.
I think this problem is similar to that discussed on here, but I'm running the notebook on the same environment that has QIIME 2 installed in it. I also tried several version of qiime2, such as qiime2-2020.2 (which I have used and had to be upgrade because of another problem on Jupyter notebook), qiime2-amplicon-2024.10, and current latest version, however, nothing is changed.
Thus, I suspect that this problem is caused by upgrade of macOS, however, no idea to solve the problem. I'd appreciate any advise.
It kind of looks like the extension loaded fine (albeit with some deprecation warnings, we are kind of hoping we can overhaul this to integrate as a proper mimetype renderer in the future).
So that probably means the client-side code isn't working the same anymore.
I've just tested 2025.4 locally, with Linux and Firefox, and didn't run into any issues.
Would you be able to provide the following info:
In your terminal with the environment you want to use active, run:
which jupyter
What version of OS X is currently running, and which browser are you using?
Are you using JupyterLab or Jupyter Notebook? Those environments actually have different client-side systems, so our enhanced output tries to account for the differences to make it work in either.
This one is kind of harder, could you open your browser's Developer Tools (every browser has one at this point, but they are all a different shortcut and name). What I would like to see is what the Console and Network tabs have to say about the situation when you call something like:
macOS 15.3.1 with Safari 18.3 (20620.2.4.11.5). I also tried Google Chrome 135.0.7049.86, but nothing is changed.
I'm using Jupyter notebook. Actually, I could view my Visualization with Jupyter Lab which I installed into the environment by conda. However, Jupyter Lab has another problem on my environment. On Lab, some cells disapeared and inserting new cell doesn't work.
The Console says Failed to load http://localhost:8888/qiime2/redirect?location=/var/folders/dh/nvspydqj33q829y6jp10x5qm0000gn/T/qiime2/User_name/data/aa8a7932-05b0-497a-8b4b-49c471a65043 resource: the server responded with a status of 404 (Not Found), when I ran Visualization.load() function. 404 error also appears in Network tab.
I'm afraid I haven't found any good explanation of this. But I have two more ideas:
Any chance that jupyter is running on a different port for some reason? i.e. not :8888
What happens if we skip the initial redirect and do something like http://localhost:8888/qiime2/view/ (I expect to see a 500: Internal Server Error vs 404 which would suggest the extension is running, just behaving wrong)