Установка и настройка
Системные требования
Требование |
Минимум |
Рекомендуется |
|---|---|---|
Python |
3.10 |
3.11+ |
ОС |
Windows 10 / Linux / macOS |
— |
ОЗУ |
4 ГБ |
8+ ГБ |
Диск |
500 МБ |
2+ ГБ (с данными) |
Установка
Установить последнюю версию пакета:
pip install git+https://github.com/PavelYurov/blind_deconvolution.git
Будут установлен пакет blinddeconv и остальные зависимости (numpy, scipy, opencv-python, scikit-image, и др.)
import blinddeconv
Установка с дополнительными зависимостями:
Включает инструменты для тестирования, линтинга и интерактивной работы (pytest, flake8, ipython, setuptools)
pip install "git+https://github.com/PavelYurov/blind_deconvolution.git[dev]"
Включает CLI-интерфейс и автоматизацию (click, pyyaml, jsonschema)
pip install "git+https://github.com/PavelYurov/blind_deconvolution.git[cli]"
Необходимо для генерации документации через Sphinx (sphinx, sphinx-rtd-theme)
pip install "git+https://github.com/PavelYurov/blind_deconvolution.git[docs]"
Всё вместе:
pip install "git+https://github.com/PavelYurov/blind_deconvolution.git[cli,dev,docs]"
Удаление
pip uninstall blinddeconv
Профили зависимостей
Профиль |
Что включает |
Команда |
|---|---|---|
|
Основные зависимости проекта |
|
|
CLI-интерфейс ( |
|
|
Расширенные версии ( |
|
|
Инструменты разработки ( |
|
|
Генерация документации ( |
|
Комбинирование профилей:
# CLI + разработка
pip install ".[cli,dev]"
# Всё вместе
pip install ".[cli,dev,docs,full]"
Интерактивное развертывание окружения
Интерактивный установщик зависимостей (install.py)
Скрипт обеспечивает автоматизированную настройку рабочего окружения. Основные функции:
создает и настраивает виртуальное окружение (по умолчанию
.venv);проверяет совместимость версии Python и наличие системных библиотек;
разрешает зависимости указанного профиля из
pyproject.toml(секция[tool.preflight.profiles]);устанавливает недостающие пакеты и регистрирует их в файле состояния
.dependency_state.json.
Показать доступные профили:
python install.py list-profiles
Проверить статус зависимостей (без установки):
python install.py check base
Установить зависимости профиля (интерактивно):
python install.py install base
Автоматический режим (без запросов подтверждения):
python install.py install base -y
Указание пути к виртуальному окружению: Скрипт автоматически использует указанное окружение (создает его при отсутствии).
python install.py --venv my_env install base
Интерактивное удаление зависимостей (uninstall.py)
Скрипт выполняет безопасное удаление пакетов, опираясь на историю установок (.dependency_state.json). Алгоритм учитывает пересечения зависимостей между профилями:
удаляет пакеты, относящиеся только к выбранному профилю;
сохраняет пакеты, которые используются другими активными профилями;
поддерживает полную очистку окружения.
Удалить зависимости конкретного профиля:
python uninstall.py base
Пример: если пакет numpy используется и в профиле base, и в профиле dev, то при удалении base пакет numpy останется в системе.
Полная очистка (сброс проекта): Удаляет каталог виртуального окружения и файл истории установок.
python uninstall.py --clean-all
Настройка виртуального окружения (вручную)
# Создание
python -m venv .venv
# Активация (Windows PowerShell)
.venv\Scripts\Activate.ps1
# Активация (Linux / macOS)
source .venv/bin/activate
# Установка проекта
pip install -e ".[cli,dev]"
Опциональные зависимости
GNU Octave (для MATLAB-обёрток)
Некоторые внешние алгоритмы требуют GNU Octave:
Установите GNU Octave
Убедитесь, что
octaveдоступен вPATHУстановите Python-обёртку:
pip install oct2py
Настройка пути к Octave через .env
Модуль blinddeconv.system.octave использует pydantic-settings и автоматически читает файл .env из корня проекта. Если исполняемый файл Octave не находится в PATH, создайте .env:
# .env (в корне проекта)
OCTAVE_EXECUTABLE=C:\Program Files\GNU Octave\mingw64\bin\octave-cli.exe
На Linux/macOS:
OCTAVE_EXECUTABLE=/usr/local/bin/octave-cli
Если переменная не задана, система попытается найти octave-cli или octave через shutil.which(). При неудаче будет выведено предупреждение, но остальной функционал фреймворка продолжит работать.
CUDA / GPU (для нейросетевых методов)
Для алгоритмов на базе PyTorch:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
Проверка установки
import blinddeconv
from blinddeconv.processing import Processing
print(f"Версия: {blinddeconv.processing.__version__}")
# Создание экземпляра Processing
p = Processing(images_folder="images/original", color=False)
print("Установка прошла успешно!")
Решение проблем
ImportError: No module named 'cv2'
pip install opencv-python
ModuleNotFoundError: No module named 'blinddeconv'
Убедитесь, что пакет установлен в текущее виртуальное окружение:
pip show blind-deconvolution
Ошибки при сборке документации
pip install ".[docs]"
pip install myst-parser