Установка
Пошаговая инструкция по установке NextStat. К концу этого руководства у вас будет рабочее окружение и вы сможете запустить свой первый фит. Опыт работы с Rust или статистическим выводом не требуется.
Шаг 0: Предварительные требования
Перед началом убедитесь, что на вашей машине установлено следующее:
| Инструмент | Мин. версия | Как проверить |
|---|---|---|
| Python | 3.11 | python3 --version |
| pip | 23.0 | pip --version |
Если Python ещё не установлен:
# macOS (Homebrew) brew install python@3.12 # Ubuntu / Debian sudo apt update && sudo apt install python3.12 python3.12-venv python3-pip # Windows — скачайте с https://python.org/downloads # При установке поставьте галочку "Add Python to PATH"
Шаг 1: Установка через pip (рекомендуется)
Самый быстрый способ. Готовые бинарные wheel-пакеты доступны для:
- Linux x86_64 и aarch64
- macOS Apple Silicon (arm64)
- macOS Intel (x86_64)
- Windows x86_64
1a. Создайте виртуальное окружение (настоятельно рекомендуется)
Виртуальное окружение изолирует NextStat и его зависимости от системного Python.
# Создаём виртуальное окружение с именем "ns-env" python3 -m venv ns-env # Активируем его # macOS / Linux: source ns-env/bin/activate # Windows (PowerShell): ns-env\Scripts\Activate.ps1 # Windows (cmd): ns-env\Scripts\activate.bat # В начале строки терминала должно появиться (ns-env)
1b. Установите пакет
pip install nextstat
Команда скачает скомпилированный wheel (~15 МБ) и установит его. Компилятор Rust не нужен.
1c. Проверьте установку
python3 -c "import nextstat; print(nextstat.__version__)"
Ожидаемый вывод:
0.9.5
1d. Установите дополнительные зависимости
NextStat имеет опциональные группы зависимостей для отдельных функций:
| Команда | Что добавляет |
|---|---|
| pip install "nextstat[bayes]" | ArviZ, xarray — для байесовской диагностики и графиков трейсов |
| pip install "nextstat[viz]" | matplotlib — для встроенных функций визуализации |
| pip install "nextstat[all]" | Все зависимости выше вместе |
Альтернатива: установка как Rust-крейт
Если вы разрабатываете приложение на Rust и хотите использовать NextStat как библиотеку:
# Убедитесь, что у вас Rust 1.93+ rustup update stable rustc --version # должно вывести 1.93.0 или выше # Добавьте крейты NextStat в ваш проект cargo add ns-core ns-inference ns-compute
Затем в вашем main.rs или lib.rs:
use ns_inference::mle::MaximumLikelihoodEstimator; // Готово к работе!
Альтернатива: сборка из исходников
Нужно только если вы хотите модифицировать сам NextStat или если для вашей платформы нет готового wheel-пакета.
Требования
| Инструмент | Версия | Установка |
|---|---|---|
| Rust | 1.93+ | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| Python | 3.11+ | см. выше |
| maturin | 1.0+ | pip install maturin |
| git | любая | brew install git / apt install git |
Пошаговая инструкция
# 1. Клонируйте репозиторий git clone https://github.com/NextStat/nextstat.io.git cd nextstat.io # 2. Соберите весь Rust workspace (2-5 минут при первой сборке) cargo build --release # 3. Создайте виртуальное окружение для Python python3 -m venv .venv source .venv/bin/activate # macOS/Linux # .venv\Scripts\activate # Windows # 4. Установите maturin (инструмент сборки Rust-Python) pip install maturin # 5. Соберите и установите Python-привязки в режиме разработки cd bindings/ns-py maturin develop --release # 6. Проверьте python3 -c "import nextstat; print(nextstat.__version__)" # Ожидаемый вывод: 0.9.4
GPU-ускорение (опционально)
NextStat поддерживает GPU-ускоренный фитинг тоев и пакетное вычисление NLL. Это опционально — всё работает на CPU по умолчанию.
| GPU | Флаг | Требование |
|---|---|---|
| NVIDIA | cuda | CUDA Toolkit 12.0+ и nvcc в PATH |
| Apple Silicon | metal | macOS 14+ (Sonoma или новее) |
# Сборка с поддержкой CUDA cargo build --workspace --features cuda # Сборка с поддержкой Metal (Apple Silicon) cargo build --workspace --features metal
Решение проблем
"No matching distribution found"
Это значит, что для вашей платформы нет готового wheel-пакета. Проверьте версию Python (python3 --version) — нужна 3.11 или выше. Если у вас нестандартная архитектура, соберите из исходников (см. выше).
"pip: command not found"
Попробуйте pip3 вместо pip. На некоторых системах pip доступен только внутри виртуального окружения. Сначала создайте его (Шаг 1a выше).
"error: linker 'cc' not found" (при сборке из исходников)
Нужен C-компилятор. Установите инструменты сборки:
# macOS xcode-select --install # Ubuntu / Debian sudo apt install build-essential # Fedora sudo dnf install gcc
Следующие шаги
Теперь, когда NextStat установлен, перейдите к Быстрому старту, чтобы запустить свой первый фит за 5 минут.
