I’ve identified the issue!
My kernel were both the same in the terminal and Jupyter Notebook, but I executed
jupyter notebook in a terminal without the environment activated.
Both of these worked:
BOKEH_NODEJS_PATH="/home/user/anaconda3/envs/bokeh/bin/node" ipython notebook
At this point, BOKEH could use Node, but it was still not in the environment? Because the output was still:
/bin/sh: 1: node: not found
Also I got:
from bokeh.util.compiler import nodejs_version, npmjs_version
print(“node.js version : %s” % nodejs_version())
node.js version : v10.13.0
print(“npm version : %s” % npmjs_version())
npm version : None
Executing the following code with
BOKEH_NODEJS_PATH set, just executing
jupyter notebook and in terminal (with env active) all gave:
So the Python kernel was from the same conda environment with everything I tried.
Even while the kernel that is used to execute Python code is the same, the environment is not if
Jupyter Notebook is not called from the active conda environment matching the kernel.
Note: I don’t have Node installed in a conda environment (or system itself) besides
Next up: Getting the Spectrogram example to work in a Jupyter Notebook.
On Wednesday, 27 March 2019 08:52:32 UTC+9, Bryan Van de ven wrote:
Setting environment variables is platform- and even shell-specific. Assuming you are on linux with a bash like shell, you can set the variable when you start the notebook:
BOKEH_NODEJS_PATH="path/to/node" ipython notebook
or to set it permanently for a shell session use export:
If you are one a different shell you will have to do a web search since I am only immediately familiar with Bash-like shells.
That said, it still seems like the most likely explanation is that somehow the notebook is installed and running out of a different conda environment, one that does not have node installed.
On Mar 26, 2019, at 12:44 AM, NumesSanguis [email protected] wrote:
I’m trying to get the spectrogram example (https://github.com/bokeh/bokeh/tree/master/examples/app/spectrogram) to work in Jupyter Notebook on Ubuntu 18.04. It works for me in the terminal, but not when executing the Python code in a Notebook using the same conda environment.
The following code will result in a:
RuntimeError: node.js v6.10.0 or higher is needed to allow compilation of custom models ("conda install nodejs" or follow [https://nodejs.org/en/download/)](https://nodejs.org/en/download/))
from bokeh.io import output_notebook, show
from bokeh.core.properties import Color, Float, Int, Override, Seq
from bokeh.models import Renderer
implementation = “waterfall.ts”
See for all details this GitHub issue: https://github.com/bokeh/bokeh/issues/8790
Based on the comments I tried the following:
/bin/sh: 1: node: not found
So indeed it cannot find NodeJS.
In the GitHub issue it was suggested to set
BOKEH_NODEJS_PATH. However, how do I do this?
I have found a node installation here: /home/username/anaconda3/envs/bokeh/bin
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/c7019b2b-ba7b-4cbe-8c3c-fd204e9aff39%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.