PY_MINOR=11 VENV_NAME=.venv_$(PY_MINOR) VENV=$(CURDIR)/$(VENV_NAME) python=$(VENV)/bin/python pip=$(python) -m pip _delete_venv: ( [ -d $(VENV_NAME) ] && rm -fr $(VENV_NAME) ) || echo "no venv to drop" _create_venv: python3.$(PY_MINOR) -m venv $(VENV_NAME) clean: _delete_venv _create_venv install: $(python) -m pip install -r requirements.txt test: $(python) -m unittest --discover . run: $(python) dev.py