Skip to content

Fix zensical install instructions: pip → pipx #8

@v0lkan

Description

@v0lkan

Problem

All zensical install instructions say pip install zensical, which fails on modern macOS:

  1. System Python 3.9 (macOS Sequoia): installs a stub package v0.0.2 that has no CLI binary — zensical requires Python >= 3.10
  2. Homebrew Python 3.12+: blocked by PEP 668 (externally-managed-environment) — Homebrew refuses system-wide pip installs
  3. No pip on PATH: many macOS setups only have pip3, so pip install itself fails

The working install path is:

pipx install zensical

pipx creates an isolated venv with whatever Python is available (even grabs 3.14 via Homebrew if needed), installs the package, and symlinks the binary to ~/.local/bin/.

Related: #6 (original report of the installation failure)

Affected Locations

User-facing docs (5 files)

File Line Current Suggested
docs/session-journal.md 472 pip install zensical pipx install zensical
docs/cli-reference.md 685 pip install zensical pipx install zensical
docs/cli-reference.md 712 pip install zensical pipx install zensical
docs/recipes/publishing.md 153 (pip install zensical) (pipx install zensical)
docs/recipes/session-archaeology.md 265 (pip install zensical) (pipx install zensical)

Go source — error messages (4 locations)

File Line Current Suggested
internal/cli/journal/err.go 93 "zensical not found. Install with: pip install zensical" "zensical not found. Install with: pipx install zensical"
internal/cli/serve/err.go 49 "zensical not found. Install with: pip install zensical" "zensical not found. Install with: pipx install zensical"
internal/cli/journal/site.go 39 pip install zensical (in help text) pipx install zensical
internal/cli/serve/serve.go 28 pip install zensical (in help text) pipx install zensical

Makefile

File Line Current Suggested
Makefile 151 .venv/bin/pip install zensical This one is fine as-is — it installs inside a venv, so pip works correctly here. Just add a comment noting the venv context.

Suggested Approach

  1. Replace pip install zensicalpipx install zensical in all docs and error messages listed above
  2. Keep the Makefile's .venv/bin/pip install zensical since it's inside a venv (pip is correct there)
  3. Consider adding a note in docs/session-journal.md about the Python >= 3.10 requirement and the macOS gotcha:
    > **macOS note:** `pip install zensical` may install a non-functional stub on
    > system Python 3.9. Use `pipx install zensical` instead, which handles
    > Python version management automatically.
    
  4. Optionally, the Go code could auto-detect the platform and suggest brew install pipx && pipx install zensical on macOS

Environment

  • macOS 15.3.2 (Sequoia), Apple Silicon
  • System Python: 3.9.6
  • Homebrew Python: 3.12, 3.14
  • Working install: pipx install zensical → v0.0.21

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions