Treat jupyter as an editor (decouple jupyter and user environments)
See original GitHub issueI think jupyter should be treated as an editor, decoupled from user code and environment. As a start, it could be installed in its own environment, out of the environment where the user code is run. (This is true in general: desktop users are better off with a system-installed jupyter and kernelspecs
pointing to environments.)
The main issue with the current setup is to run ancient code with a modern jupyter, as dependencies might conflict. That is especially true when their versions are specified by the user (in requirements.txt
, environment.yml
, etc.) for reproducibility’s sake. I have in mind scientific experiments which, for reproducibility, shouldn’t be updated (unlike living projects).
There is however a deeper issue, as ipykernel itself has many dependencies to be installed in the user environment. Longer term, it would be good to decouple ipykernel and jupyter more (to execute code with an old ipykernel specified by user environment with a modern jupyter editor). Even better would be to push the interface down to the notebook file to entirely decouple the editor from the user environment. After all, if jupyter is an editor, running notebooks should not require to install anything in the user environment.
This is potentially a far-fetched and long-term issue that I have little idea how to technically realize, if even possible. Please let me know your thoughts and if it has been discussed (elsewhere) already. As always, thanks for your amazing work!
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:7 (6 by maintainers)
Top GitHub Comments
Another use-case: Disabling the mybinder.org jitsi extension https://github.com/jupyterhub/mybinder.org-deploy/issues/1562#issuecomment-700432663
This issue has been mentioned on Jupyter Community Forum. There might be relevant details there:
https://discourse.jupyter.org/t/previous-built-binder-repo-suddenly-with-404-error/13047/5