stephenslab / ipynb-website

Simple data science website using Jupyter notebooks.
https://tinyurl.com/yb7mal2m
MIT License
66 stars 29 forks source link

jnbinder only works with Jupyter < 3.0 and nbconvert == 5.x #19

Open maxdevblock opened 2 years ago

maxdevblock commented 2 years ago

Is it possible to update nbconvert to the latest version 6.4.1 in docker container?

I see the version in gaow/jnbinder is nbconvert==5.6.0.

Some issues have been solved in newer nbconvert versions (equation numbers, mathcal and mathscr, etc).

Many thanks.

gaow commented 2 years ago

@maxdevblock okay that seems straightforward -- just updated the image although I'm not sure if it will break things. I only tested with this repo and it seems fine. Below is how i updated and recompiled the website:

docker pull gaow/jnbinder
source jnbinder_docker.sh 
jnbinder upgrade-jnbinder
jnbinder clean
jnbinder -s force

Please make a copy of your old website before the upgrade, for I'm not sure if things might break on your end and if so, I'm not sure if I'll be able to fix that timely.

maxdevblock commented 2 years ago

Hi @gaow thank you.

I pulled the update but it seems it has got the same nbconvert version 5.6.0.

So I tried to run a container (without jnbinder command)

mkdir -p .sos && docker run --rm -v $PWD:$PWD -v $PWD/docs:$PWD/docs -v /tmp:/tmp -v $PWD/.sos:$PWD/.sos -t -w=$PWD -u 1000:1000 --name test gaow/jnbinder

and docker exec -it test \bin\bash into it and launched conda update nbconvert. It correctly installed 6.4.1.

Then docker exec -it test jnbinder clean and docker exec -it test jnbinder -s force but it has issues

ERROR: Build website (id=2f21a739b5770d3e) returns an error.
ERROR: [263af2e0-3cf4-442b-bd39-d18b96716539]: [update-hp]: [update-hp]: Output target docs/setup.html does not exist after the completion of step update-hp
[default]: Exits with 1 pending step (Clean up)

I guess that also python should be updated to 3.9. Maybe a lot of work to do.

gaow commented 2 years ago

@maxdevblock you are right, the nbconvert version update did fail on my end now that I read into the log files during the update. Thank you for your commands above which allowed me to easily reproduced your issue on this repo after manually update to nbconvert==6.4.1 successfully and look into the failure. It turns out that this version of nbconvert no longer works with the tpl templates we generated -- in other words nbconvert is not backwards compatible.

Unfortunately currently I don't have the energy & pressing need to rewrite the package to accommodate this version of nbconvert ... I'm changing the title and I'll leave this issue open as a warning to others.

maxdevblock commented 2 years ago

@gaow no problem, thank you. This is still the best tool to manage auto-updating jupyter websites!