NextStatNextStat

Установка

Пошаговая инструкция по установке NextStat. К концу этого руководства у вас будет рабочее окружение и вы сможете запустить свой первый фит. Опыт работы с Rust или статистическим выводом не требуется.

Шаг 0: Предварительные требования

Перед началом убедитесь, что на вашей машине установлено следующее:

ИнструментМин. версияКак проверить
Python3.11python3 --version
pip23.0pip --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-пакета.

Требования

ИнструментВерсияУстановка
Rust1.93+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Python3.11+см. выше
maturin1.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ФлагТребование
NVIDIAcudaCUDA Toolkit 12.0+ и nvcc в PATH
Apple SiliconmetalmacOS 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 минут.