Automatic Dependency Management
This notebook begins by using Nextjournal's default Python environment.
import platform; platform.python_version()
The environment comes pre-loaded with dozens of useful packages. Use Bash in Nextjournal just as you would on your local machine to see what packages are installed.
conda list; printf "\npip packages:\n"; pip list
Installation using Bash also works as expected.
pip install haishoku
Jupyter users should note - there is no kernel mediating the Bash commands in these cells. It is exactly like running /bin/bash
on your local machine. This solves many problems that emerge when using Jupyter notebooks:
- The notebooks are not dependent on the system's version of Python. Use any version of Python you want. Upgrade the system without fear of breaking an unrelated notebook or its dependencies.
- Package installation is simplified. On any given computer, a Jupyter kernel's
python
executable not always the same as the command line'spython
executable. Related dependency errors are difficult to trace. - Dependency management on Nextjournal is automated for each individual notebook.
Best of all, the benefits of Nextjournal can be leveraged by Jupyter users. Nextjournal's support for Jupyter kernel means that the notebook can be run on the platform, including all custom Magic commands:
!jupyter --version
Running a Jupyter notebook just once on Nextjournal makes it instantly reproducible and will alleviate dependency issues in the future.