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
conda
environment, 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
jupyterlab
ornotebook
are sufficient… and probably with a full minimum version so you don’t get… whatever is installed on binder (bymamba
during therepo2docker
build)
- 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.