How can i get help with holoviz install fail?

Hi folks; I need to get rolling on holoviz on a cloud VM. I’m trying to get some help with a blocking install error for the step of conda install -c pyviz holoviz. There is a separate issue started Oct 20 2020 by someone else where I chimed in “me too” with some details but I’m not seeing any responses. Is there a way of getting some technical help on this that I can take advantage of? Time-critical; thanks for any suggestions! -Rob

@robfatland, I would try installing from the conda-forge channel instead, since that’s probably what your existing environment is based on, right? So try:

conda install -c conda-forge datashader geoviews hvplot

This should pull in the other packages like holoviews, panel, bokeh, etc.

If that doesn’t work, try creating a new environment instead of installing into an existing environment. Try doing:

conda env create -f holoviz_env.yml

using this holoviz_env.yml environment, adding whatever other packages you need, e.g. xarray, pandas, etc)

name: holoviz
channels:
  - conda-forge
  - defaults
dependencies:
  - datashader
  - geoviews
  - hvplot
  - ipykernel
  - pandas
  - xarray
  - fsspec

Thanks Rich; some progress: I found that the installs you suggested work in series as in:

conda install -c conda-forge datashader
conda install -c conda-forge hvplot
conda install -c conda-forge geoviews

After this I have a holoviews command available but not holoviz (which the install guide invokes next: holoviz examples). I tried to re-run the holoviz install conda install -c pyviz holoviz but this produces a long list of conflicts. So I doubt I’m on the right path here; will try the alternative you suggest and edit this.

@robfatland, there is not really a holoviz package. It’s just a meta package that downloads the packages like holoviews, geoviews, etc.

So you really do just need to install datashader, geoviews and hvplot from conda-forge.

But the conda solver works better if you create the environment all at once instead of adding them one at a time, so do please try using the environment.yml file approach to creating the environment!

Ok that yml-file install worked very smoothly. Not quite out of the woods yet, however. Here’s my next challenge… :slight_smile:

According to https://holoviz.org/installation.html the next command to issue is holoviz examples. This brings in notebooks and data. However I find no executable holoviz.

The closest thing I can find in <env>/bin is holoviews. I can run holoviews --install-examples examples which works and includes some notebooks in the content under the getting_started sub-folder. But no data; I’m pretty sure I’m off on the wrong road again. Running notebook cells give Deprecation Warnings (see below) although it does seem to work; for example bringing up bokey.

/home/ubuntu/anaconda3/envs/holoviz/lib/python3.8/site-packages/ipykernel/ipkernel.py:283: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.
  and should_run_async(code)

@robfatland, I’m glad using the environment.yml file worked. I should also have mentioned that it takes quite a while to build, 23 minutes on my system! I tried using mamba instead and it took 13 minutes, so next time, try that!.

But yes, I didn’t realize that the holoviz meta package is also the recommended way to install example data. Bummer.

@jbednar, is there a simple command for downloading the data that could be used for people who have installed the holoviz suite using conda-forge?

BTW, I think the holoviz meta package and the pyviz channel actually are hurting community adoption of the holoviz tools. It’s nice that it’s self-consistent and you control it so you can make sure the demos work, but usually people want to then do more, and it’s tough to integrate the packages from the pyviz channel into other environments built with conda-forge, as Rob (and many others) have found out! Would be way better IMHO to have people install holoviz tools from conda-forge, and fix any issues as they arise there.

Maybe we should poll the community!

PLEASE TAKE THIS POLL: I would prefer to install holoviz from:

  • the pyviz channel
  • the conda-forge channel

0 voters

1 Like

Thanks Rich. The download question is key; and for me a second key would be a sanity check: How do I know I have the right notebooks / materials to proceed down the tutorial garden path.

On the issue of channels and so on: I would love to see an inset box that de-msytifies the install for the pro Noob. As an example my terminology blockers are environment, activate, deactivate, package manager, executable, path, library, package, channel, dependency, and install. Some of this, like path, I have understood since 1982; but it still represents an obstacle today because of how path relates to the other terms. (By the way I will be writing all of this up in notes in the repo I’m building on this; so if it already exists: Great! And if it would be a useful addition let me know.) The flip side of the coin is whether there is a real need for me to understand that conda is an executable that is a package manager. I am fretting about it at the moment because I got stuck and could not debug the issue… but if the install is fool-proof [sic] then I can just get on to the fun bit, right?

@robfatland Apologies for your bad experience here. We had originally envisioned HoloViz as a way to fetch the tutorial materials but also as a meta-package that would satisfy all the dependencies required for the tutorial. The problem with that is that the holoviz packge is very specifically pinned and seemingly those pins no longer resolve. For now I would probably recommend just downloading the tutorial as a zip-file from here and then running the notebooks manually in your newly created environment.

Great, thank you; and no worries on the ‘bad experience’ from my perspective. Computers are finicky.

BTW as I mentioned I’m using cloud machines for this so my notebook start command is in fact

(jupyter notebook --no-browser --port=8889) &

(and note the token).

This is accompanied by some finagling on my laptop including (in a bash shell):

ssh -N -f -i jupyterkeypair.pem -L localhost:7005:localhost:8889 ubuntu@123.12.123.12

followed of course by localhost:7005 in a browser window. I think opting out of the ssh tunnel might give better performance… different thread.

I just tried downloading the zip file, but it appears to be missing some of the tutorial data:

FileNotFoundError: [Errno 2] No such file or directory: './holoviz-master/examples/data/earthquakes.parq'

Okay, I figured this out myself. After downloading the zip file, cd to the ./examples/tutorial directory, create a new file there called get_large_data.py:

import os
from pyct import cmd

if not os.path.isfile('../data/earthquakes.parq'):
    cmd.fetch_data(name='holoviz', path='..')

then run it using your holoviz environment:

python get_large_data.py
1 Like

yeah I went through the same thing :wink: I think I used wget.

1 Like

And now that I’m actually running the tutorial notebooks, I see that these lines to download the earthquake data are already in the 00_Setup.ipynb notebook. Where is the :egg: on :slightly_frowning_face: emoji?