Binder no longer opening classic notebooks?

I had been using github + binder to host some of my notebooks. I used the trick described previously so that even though binder defaults to JupyterLab, you can still open the classic notebook. Just last month it was working, although I just noticed yesterday that it is no longer working anymore.

The default link I get from binder has the labpath part. I then modify it to this one and as I said it used to work but now it just defaults to JLab again. Is there any way to still open the notebook using the classic interface?

Yes. You can adjust adjust your configuration file according to here to get the classic notebook installed.

As to when it changed (sixteen days ago at present), you can see more about it in the post on this forum ‘Notebook 7 on mybinder.org and repo2docker’.



Just to clarify something important in your post:

This link https://mybinder.org/v2/gh/QuantumLab-UChicago/CCC_2024/HEAD?urlpath=/tree/CCC_pythonBootcamp.ipynb is not opening to JupyterLab at present. That is Notebook version 7+ that you are seeing (until you adjust your repo like discussed above). Check the ‘About Jupyter Notebook’ under ‘Help’ and at present you’ll see Version: 7.2.2.

If you go to ‘View’ > ‘Open JupyterLab’, then you can open JupyterLab interface from the Notebook interface without editing the URL in the launched session.

2 Likes

Thank you, this was very useful and it worked!

Just as a reference, there was an issue with my requirements file in that it was being ignored even though it was in the root folder after the fix, but I fixed it by moving it to a folder named “binder” in the repository.

Sorry I misidentified the new notebook interface with JLab. For some reason the new interface was messing up my interact features just like JLab does.

I think it’d be useful to notate this in the linked thread (as it might help people like me!).

1 Like

There’s two things to unpack there that may help you going forward.

  1. Jupyter Notebook 7+ is built on JupyterLab components and so there is a reason why you see it behaving similarly.

  2. I’d be happy to help you update to use current approaches. For example, you can see here in the notes I have been working out how to test the same content with updated versions. The animation examples are more limited but work, too. The thing is that the new ipympl and ipywidgets are more stringent.



Not following why requirements.txt would be ignored and not seeing it behave like that.
If I launch with this launch URL linked to the version of your repo where you first specified nbclassic today, it seems like those packages are installed when I run %pip list in the session that comes up.
And using that link it comes up in JupyterLab by default but I can switch to nbclassic, by removing lab and everything to the right of it from the URL and replace it with tree.
In other words, everything listed in here in that requirements.txt is already installed and present in the session that comes up.
So I am not following what you mean. Did I misunderstand?

I do see that after that point you added environment.yml to the root of your repo, which you don’t want to do because it will take precedence over requirements.txt.