[SOLVED] Virtual Coach Tutorial


Hello everyone,

I installed NRP on Ubuntu 20.04 as docker installation. I am trying to go through Virtual Coach Tutorial. For this I switched to backend container and write the first command

cle-virtual-coach jupyter notebook

in the container terminal. It gives me some URLs, however I cannot open Jupyter notebook on browser with these URLs. After many trial, I skipped this and run Python interpretation by running this command

cle-virtual-coach python

After that I run this command

from hbp_nrp_virtual_coach.virtual_coach import VirtualCoach

and get this error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'hbp_nrp_virtual_coach'

So I cannot proceed with this tutorial. What is the problem here?


Dear user,

Docker has to map port 8888 to some port of your host computer, for example the same: 8888.
For this, add these lines to nrp_installer.sh (assuming you have its latest version 1.21):
After line 83, insert:

notebook_port=`eval [ "$container" != "nrp" ] || echo -p 8888:8888`

After line 87, insert:

$notebook_port \

Your start() function should now look like this:

eval "port=\${${container}_port}"
eval "image=\${${container}_image}"
check_port $port
echo -e "${BLUE}Starting $container container on port $port using image $image${NC}"
iparg=`eval $is_mac || echo --ip=${!ipvar}`
notebook_port=`eval [ "$container" != "nrp" ] || echo -p 8888:8888`
echo "notebook_port = $notebook_port"
$DOCKER_CMD run -itd \
  -p $port:$port \
  $notebook_port \
  --net=nrpnet \
  $iparg \
  -v nrp_user_data:/home/bbpnrsoa/.opt/nrpStorage \
  -v nrp_models:/home/bbpnrsoa/nrp/src/Models \
  -v nrp_experiments:/home/bbpnrsoa/nrp/src/Experiments \
  --name $container $image
eval setup_$container
echo -e "${GREEN}$container container is now up and running.${NC}"

Now, reinstall your nrp (this will reset your Models in the backend container, so in case you changed them, make sure you back them first up)

./nrp_installer.sh install

Check that port 8888 is mapped:

docker port nrp

It should answer:

8080/tcp ->
8888/tcp ->

Now, open the backend container:

./nrp_installer.sh connect_backend

and in the backend terminal, run the virtual coach notebook server, but change the default ip to

cle-virtual-coach jupyter notebook "--ip="

Give the url given in your host computer browser, for example on my computer, it was:

If you have issues with port 8888, try mapping another host port by giving the “-p <other_port>:8888” in line 84 of nrp_installer.sh.

This should work for you.

Best regards


Fyi, I added this as a permanent feature request for the dev team:

thanks for reporting.


I just have to add to axel’s complete answer that importing VirtualCoach has changed from :

from hbp_nrp_virtual_coach import virtual_coach


from pynrp import virtual_coach

in version 3.1 which is equivalent to latest docker tag currently.


The issue has been fixed and the fix will be available in the next release.


One (perhaps obvious) addition: I have NRP installed on a remote server, so I had to replace the ip given in the url of my local browser by the ip of the remote machine, i.e.


The fix has been deployed and is included in NRP 3.2.0.