Skip to content

Makefile fails on Windows due to hardcoded Unix venv path #803

@fuleinist

Description

@fuleinist

Summary

Makefile assumes Unix venv path (.venv/bin/python) or python3, causing make lint / make typecheck / make test-cov to fail on Windows even when a local .venv Python exists.

Expected vs actual behavior

Expected: On Windows, the Makefile should check .venv/Scripts/python.exe (Windows venv layout) before falling back to python3 or python.

Actual: The venv path is hardcoded to .venv/bin/python which does not exist on Windows, and the install target uses python3 directly rather than $PYTHON.

Steps to reproduce

  1. Clone repo on Windows
  2. Create .venv using python -m venv .venv
  3. Run make lint — fails because .venv/bin/python does not exist

Additional context

The install target also directly calls python3 rather than $PYTHON, so even if the PYTHON variable pointed to the Windows venv Python, install would still invoke python3.

Proposed fix

  • Introduce a platform-detection variable (e.g. OS := $(shell uname -s) or check for existence of .venv/bin/python vs .venv/Scripts/python.exe)
  • Point PYTHON to the correct venv binary for the platform
  • Update the install target to use $PYTHON instead of hardcoding python3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions