Use python3 as the canonical command name course-wide (#104) #105
Reference in New Issue
Block a user
Delete Branch "claude/issue-104"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Most current systems (default Debian/Ubuntu, recent macOS) install Python only as
python3, with no barepythonon PATH, so learners who copiedpython cli.py ...into their host shell hitcommand not found.What changed
Converted host-shell
python <cmd>->python3 <cmd>across course content (102 files inmodules/,capstone/,blog/):.pydocstrings &usage:strings, blog posts, lab prompt/instruction filesmodules/04-*/lab/verify.sherror-message string (the$PYinterpreter detection was already correct and is untouched).patchfiles (both-/+sides converted so they still apply cleanly against the convertedcli.py)Module 01's convention note (and its
blog/02mirror) is rewritten sopython3is the canonical course-wide spelling andpythonis the documented fallback, keeping thepython3 --version/python --version"check which you have" guidance.Stop-lines respected (left as
pythonon purpose)FROM python:3.12-slim,image: python:3.12).venv/bin/python,...\.venv\Scripts\python.exe) and the Module 20"command": "python"teaching example + surrounding venv proseENTRYPOINT/CMD/HEALTHCHECK), M16 READMEdocker run ... python:3.12-slimexamplesrun:steps fed byactions/setup-python/image: python:3.12(standaloneci-starter.yml/gitlab-ci-starter.ymland their mirrored copies inside the M14/M15/M27 READMEs and blog/14)pip: deferred (documented, not silent)
pipwas intentionally left out of scope. Most occurrences are prose ("nopip install") or CI/container-internal, andpip3does not fix the PEP 668 externally-managed-environment refusal that the course already addresses with venvs. The rewritten Module 01 note is worded to stay consistent with barepip(use whicheverpippairs with your Python).Verification
python3 tools/build_wiki.py ...succeeds (wrote 31 wiki files, exit 0)bash tools/check.shpasses (py-compile, shell/JSON/YAML parse, no-em-dash guard, template-section checks)pythonhits are only the intentional stop-line keeps above.patchfiles stillgit apply --checkcleanlyCloses #104
🤖 Generated with Claude Code
https://claude.ai/code/session_01GAEzanEoGJT5o1VizQar47