Troubleshooting

macOS

Use python3, not python

macOS ships an old Python 2 stub as python. Always type python3 and pip3, or work inside a venv where python points at the right one.

python3 --version     # needs 3.10 or newer

Getting a newer Python

macOS's built-in Python is often behind. Either install from python.org, or use Homebrew:

brew install python@3.12

"command not found: moonfield"

The venv is not active. Your prompt should show (.venv).

source .venv/bin/activate

"externally-managed-environment" from pip

macOS is protecting its system Python. This is correct behaviour and the fix is to use a venv, not to override it:

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Do not use --break-system-packages. It is called that for a reason.

Terminal.app and the Moon art

Terminal.app handles the Unicode fine in recent macOS. If it does not, use --no-art, or try iTerm2.

Location Services are not involved

Moonfield never reads your device location. You type your coordinates in once and they are stored in a plain JSON file:

moonfield config path

Apple Silicon

Everything here is pure Python, no compiled dependencies, so there are no architecture issues. This is one of the payoffs of the zero-dependency design.

See also