Escaping from Anaconda's Stranglehold on macOS
Anaconda on macOS and shell configuration
- Many commenters note Anaconda on macOS aggressively modifies shell startup files (
.zshrc, PATH, even shadowing tools likelipo) and auto‑activates the base environment. - This confuses beginners who later install “official” Python and find that
python3still runs Anaconda’s version. - The article’s GUI-based workaround (renaming
.zshrcin Finder) is seen by some as elegant and reversible for non‑CLI users; others call it overcomplicated and “insane” compared to a one‑line shell command or simply editing out the conda init line. - Some stress that auto‑activation can be disabled (
conda config --set auto_activate_base false), but beginners rarely know this.
Licensing and institutional backlash
- Anaconda’s newer licensing terms for institutions are widely criticized as ambiguous and “dark pattern”–like, especially around universities with >200 employees.
- Some organizations report being approached in a hostile, “you’re in legal trouble” way and are now purging Anaconda despite liking the product.
- Others note that Miniconda/Miniforge with conda‑forge channels avoid most licensing issues.
Virtual environments vs direct installs
- Strong disagreement over the article’s line that avoiding virtual environments is a benefit.
- Many argue beginners are precisely the ones who must learn venv/conda, otherwise they break global installs or can’t manage multiple projects.
- Others counter that venvs, pyenv vs virtualenv vs conda, etc. are already a confusing mess; for novices doing a single course, direct installs into a dedicated user‑level Python may be simpler.
Teaching beginners: CLI, GUIs, and scope
- Split between “teach shell, filesystem, PATH from day one” and “don’t front‑load everything; let students focus on Python and hide infrastructure via GUIs/IDEs.”
- Some report non‑CS students can grasp basic CLI in under an hour; others say many modern students lack even file/folder concepts and are intimidated by terminals.
- Suggested teaching environments include: VS Code with built‑in venv support, IDLE, Docker/containers, hosted web notebooks, or institutionally managed Nix-based setups.
Alternatives and broader ecosystem
- Alternatives mentioned: Miniforge/conda‑forge, pixi, MacPorts, Homebrew +
pip/venv, pyenv + poetry, uv, mise, Nix/Guix, Docker/Podman. - Conda is defended as a cross‑platform, multi‑language package manager that handles C/Fortran/ABI issues well, especially for scientific computing, though some find it slow or fragile.
- Many comments broaden into frustration that Python packaging/environments remain notoriously complex compared to R, MATLAB, or Julia, with references to the “XKCD Python environment” comic and calls for a more unified, Rust‑/Cargo‑like model.