mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Small fix in the makefile for when uv is not installed. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄
78 lines
2.0 KiB
Makefile
78 lines
2.0 KiB
Makefile
SHELL = /bin/bash
|
|
|
|
.PHONY: help install clean build
|
|
.SILENT:
|
|
all: install
|
|
|
|
ifeq ($(PYTHON_VERSION),)
|
|
PYTHON_VERSION="3.10"
|
|
endif
|
|
|
|
.ONESHELL:
|
|
help:
|
|
echo -e "\033[1mUSAGE:\033[0m"
|
|
echo " make [target]"
|
|
echo ""
|
|
echo -e "\033[1mTARGETS:\033[0m"
|
|
echo " help - show this help message"
|
|
echo " install - install uv, python, Semantic Kernel and all dependencies"
|
|
echo " This is the default and will use Python 3.10."
|
|
echo " install-uv - install uv"
|
|
echo " install-python - install python distributions"
|
|
echo " install-sk - install Semantic Kernel and all dependencies"
|
|
echo " install-pre-commit - install pre-commit hooks"
|
|
echo " clean - remove the virtualenvs"
|
|
echo " build - build the project"
|
|
echo ""
|
|
echo -e "\033[1mVARIABLES:\033[0m"
|
|
echo " PYTHON_VERSION - Python version to use. Default is 3.10"
|
|
echo " By default, 3.10, 3.11 and 3.12 are installed as well."
|
|
|
|
install:
|
|
make install-uv
|
|
make install-python
|
|
make install-sk
|
|
make install-pre-commit
|
|
|
|
UV_VERSION := $(shell command -v uv 2> /dev/null)
|
|
install-uv:
|
|
# Check if uv is installed
|
|
ifndef UV_VERSION
|
|
echo "uv could not be found"
|
|
echo "Installing uv"
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
echo "uv installed"
|
|
echo "Please restart your shell."
|
|
exit 1
|
|
else
|
|
echo "uv found $(UV_VERSION)"
|
|
echo "running uv update"
|
|
uv self update
|
|
endif
|
|
|
|
.ONESHELL:
|
|
install-python:
|
|
echo "Installing python 3.10, 3.11, 3.12"
|
|
uv python install 3.10 3.11 3.12
|
|
|
|
.ONESHELL:
|
|
install-pre-commit:
|
|
echo "Installing pre-commit hooks"
|
|
uv run pre-commit install -c python/.pre-commit-config.yaml
|
|
|
|
|
|
.ONESHELL:
|
|
install-sk:
|
|
echo "Creating and activating venv for python $(PYTHON_VERSION)"
|
|
uv venv --python $(PYTHON_VERSION)
|
|
echo "Installing Semantic Kernel and all dependencies"
|
|
uv sync --all-extras --dev
|
|
|
|
.ONESHELL:
|
|
clean:
|
|
# Remove the virtualenv
|
|
rm -rf .venv
|
|
|
|
build:
|
|
uvx --from build pyproject-build --installer uv
|