A few notes:
- all of those packages are available on
conda-forge- all work on all of the conda-forge platforms (including windows and MacOS ARM/M1) out of the box… without invoking a compiler at install time
- like it or lump it, on MyBinder you’re already running in a
condaenvironment, unless you write your ownDockerfile
- like it or lump it, on MyBinder you’re already running in a
- all work on all of the conda-forge platforms (including windows and MacOS ARM/M1) out of the box… without invoking a compiler at install time
- basically never install
jupyter, it brings in mountains of stuff (likeqt) that will not improve your binder experience- usually, just
jupyterlabornotebookare sufficient… and probably with a full minimum version so you don’t get… whatever is installed on binder (bymambaduring therepo2dockerbuild)
- usually, just
So a notional environment.yml would be:
channels:
- conda-forge
dependencies:
- jupyterlab >=3.0.16,<4 # or `notebook >=6.4,<7` if that's your thing
- networkx >=2.6.1
- python-graphviz # this is the equivalent of pip's `graphviz`
- pygraphviz ==1.7
- rdflib >=5.0.0
This would do one mamba solve (instead of apt’s solver, then pip’s solver, then invoking gcc). This is going to be faster/have better cache characteristics than apt.txt + requirements.txt… and have been verified to work by the conda-forge maintainers… and very possibly be faster at runtime because of compiler tuning.
can’t be copy/pasted
If you select some rows, Ctrl+Shift+C will copy the selection, as will Ctrl+Right Click to get the context menu. But I agree, having a “download log” button would be swell. Heck, that could be done entirely in the browser without any server changes.