Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Use cases for conda or conda+pip:

- Already-compiled packages (where there may not be binary wheels) instead of requiring reinstallation and subsequent removal of e.g. build-essentials for every install

- Support for R, Julia, NodeJS, Qt, ROS, CUDA, MKL, etc.

- Here's what the Kaggle docker-python Dockerfile installs with conda and with pip: https://github.com/Kaggle/docker-python/blob/master/Dockerfi...

- Build matrix in one container with conda envs

Disadvantages of the official python images as compared with conda+pip:

- Necessary to (re)install build dependencies and a compiler for every build (if there's not a bdist or a wheel for the given architecture) and then uninstall all unnecessary transitive dependencies. This is where a [multi-stage] build of a manylinux wheel may be the best approach.

- No LSM (AppArmor, SELinux, ) for one or more processes in the container (which may have read access to /etc or environment variables and/or --privileged)

- Necessary to build basically everything on non x86[-64] architectures for every container build

Disadvantages of conda / conda+pip:

- Different package repo infrastructure to mirror

- Users complaining that they don't need conda who then proceed to re-download and re-build wheels locally multiple times a day

Additional attributes for comparison:

- The new pip solver (which is slower than the traditional iterative non-solver), conda, and mamba

- repo2docker (and thus BinderHub) can build an up-to-date container from requirements.txt, environment.yml, install.R, postBuild and any of the other dependency specification formats supported by REES: Reproducible Environment Execution Standard; which may be helpful as Docker Hub images will soon be deleted if they're not retrieved at least once every 6 months (possibly with a GitHub Actions cron task)



Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: