gnss/Docs/nuitka.md

2 KiB
Raw Blame History

Nuitka build (backend)

Важно

  • gdal2tiles.py и GDAL — это системные бинарники/библиотеки, Nuitka их не “впаяет” в один файл. На целевой машине GDAL всё равно должен быть установлен, если ты используешь /tiles/slice (нарезку).
  • Для onefile-режима бинарник распаковывается во временную папку, поэтому проектные папки внутри пакета не должны использоваться для записи. В коде это решено через GNSS_DATA_DIR.

Где лежат данные

По умолчанию:

  • в обычном режиме (запуск из исходников) данные лежат рядом с пакетом (gnss/).
  • в “замороженном” режиме (nuitka --onefile) данные идут в ~/.local/share/gnss.

Можно переопределить:

  • GNSS_DATA_DIR=/path/to/data

Структура:

  • $GNSS_DATA_DIR/tilesets/<tileset>/...
  • $GNSS_DATA_DIR/uploads/...
  • $GNSS_DATA_DIR/tiles/... (опционально)

Запуск без Nuitka (для проверки)

poetry run gnss-backend --host 0.0.0.0 --port 8000

Установка Nuitka (в Poetry)

Рекомендовано держать Nuitka как dev-зависимость:

poetry add --group dev nuitka

Сборка (standalone + onefile)

Пример:

poetry run python -m nuitka --onefile --standalone --follow-imports --assume-yes-for-downloads --output-dir=dist --output-filename=gnss-backend gnss/__main__.py

После сборки:

  • бинарник будет в dist/ (например dist/gnss-backend.bin)

Запуск бинарника

GNSS_DATA_DIR=./data ./dist/gnss-backend.bin --host 0.0.0.0 --port 8000

Положи tileset’ы сюда:

  • ./data/tilesets/<name>/...