[CLOSED] EcoAssist ebuild - обработка изображений с фотоловушек (Python)

Наш межлабораторный проект плавно переезжает на EcoAssist в деле учёта млекопитающих в заповедниках. Программа-то хорошая, но то, что автор считает Линукс-инсталлятором -- за пределами добра и зла.

Очень прошу, кто умеет, напишите, пожалуйста, ebuild! Про зависимость от заброшенного Гуглом tensorflow я уже автора запросил, подозреваю, что её просто забыли убрать со старых версий. Давайте считать, что её нету.

Вот, вроде проанализировал

Вот, вроде проанализировал зависимости (половина -- только на https://github.com/gentoo-mirror/pypi), но дальше что? Как создать структуру директорий и пр.?

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_EXT=1
inherit distutils-r1 prefix python-single-r1 git-r3

DESCRIPTION="EcoAssist is a Python application for ecological data analysis."
HOMEPAGE="https://github.com/PetervanLunteren/EcoAssist"
SRC_URI="https://github.com/PetervanLunteren/EcoAssist/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"

RDEPEND="
    net-misc/curl
    x11-libs/libxcb
    sci-geosciences/folium
    dev-python/pyqt6[${PYTHON_USEDEP}]
    dev-python/opencv-python[${PYTHON_USEDEP}]
    dev-python/pytorch[${PYTHON_USEDEP}]
    sci-libs/torchvision[${PYTHON_USEDEP}]
    dev-python/tqdm[${PYTHON_USEDEP}]
    dev-python/pandas[${PYTHON_USEDEP}]
    dev-python/scikit-learn[${PYTHON_USEDEP}]
    dev-python/qt-range-slider
    dev-python/gpsphoto
    dev-python/exifread
    dev-python/piexif
    dev-python/openpyxl
    dev-python/customtkinter
    dev-python/CTkTable
    dev-python/plotly
    dev-python/gitpython>=3.1.30
    dev-python/tensorboard>=2.4.1
    dev-python/thop>=0.1.1
    dev-python/pyside[${PYTHON_USEDEP}]
    dev-python/humanfriendly>=10.0
    dev-python/jsonpickle
    dev-python/timm
    dev-python/dill
    dev-python/PytorchWildlife
"

DEPEND="${RDEPEND}"

src_unpack() {
    default
    mv "${WORKDIR}/EcoAssist-${PV}" "${S}" || die
}

src_install() {
    python_domodule *
    domenu ecoassist.desktop
    dosym /usr/share/ecoassist/EcoAssist_GUI.py /usr/bin/ecoassist
}

А дальше вот что.

Спасибо, был я там, и вообще

Спасибо, был я там, и вообще по devmanual прогулялся. Про python-специфичные штучки а-ля python_compile() и python_install(), как, например, в pytorch, я там не нашёл. Нужны ли эти функции в данном случае, я ХЗ. Надо ли создавать вручную структуру директорий, или оно само, тоже непонятно. И если да, то как? Где-то в ебилде прописать все makedir?

В общем, вопросов куча. Учитывая, что и в Питоне я нуб, и понимаю исходники EcoAssist-а с пятого на десятое...

Нужна помощь человека, разбирающегося в Питоне и ебилдах.

!

qlist app-doc/eclass-manpages в помощь!

И вообще базовую документацию вместо новомодного web. Она в гентушечке на диво, по современным меркам, хороша.

:wq
--
Live free or die

Спасибо, посмотрю, как-то я

Спасибо, посмотрю, как-то я совсем забыл про такие вещи с "новомодным web" :-)

?

А вот тут есть нюанс: ты обратил внимание на то, что в значительной части зависимостей привязка к конкретному коммиту?
Ты уверен, что использование версии, представленной в дереве удовлетворит требованию?

:wq
--
Live free or die

Обратил, но пока не поставлю

Обратил, но пока не поставлю хоть как-то, проверить не смогу. Если такое возникнет, будем допиливать саму программу, пиная автора (он сам предлагал) и внося в меру понимания патчи. Но это следующий этап развитого социализма.

Нужен ебильд или работающая

Нужен ебильд или работающая программа?!

Linux в принципе позволяет компилировать программы под пользователем с префиксами. Это, как привило, описывается в README.txt
И многие программы сделаны так, что можно хранить их в /home/user, не нарушая работу системы.

От пользователя можно компилировать всласть.
Это не менее интересно, чем через portage.
P.S.
Как бы открывается новый виток свободы, словно дуновение атлантического бриза после жаркой сиесты.

С ноября 2022 нетбук HP mini (Processor: Atom n570)

.

Самое интересное начинается на этапах обновления системы. Ну и/или анализа причин неработоспособности программ, установленных описанным образом.

:wq
--
Live free or die

Есть Appimage в конце

Есть Appimage в конце концов.

Считаю, однажды надо перестать обновлять систему и начать ей пользоваться.

P.S.
Вообще одно только ядро Linux стало жирным.
40 млн. строк кода, по сообщениям: https://www.linux.org.ru/news/linux-general/17866237
(кто-то в этой ветке написал про Minix. Жестоко, но...)
Тут, конечно, можно посетовать и вспомнить ещё новость о том, что в ядре находят
по 50 ошибок в день и ещё столько добавляют (иногда складывается впечатление, что код не пишут, а "кто-то" как брахман порождает код
одной мыслию... Linux - дыхание брахмана или сон админа сайта gentoo.org, а может, и ru :)).

Но этот рост заставляет задуматься о насущных вещах: а не откатить ли пользовательский десктоп на ядро 2.6?!

С ноября 2022 нетбук HP mini (Processor: Atom n570)

И причём тут ядро?!

Разве у тебя с ядром проблемы?!..

Относительно 2008 года,

Относительно 2008 года, скажем честно, проблемы "большие", выросли почти до 4ГБ Liv-a и до 600-800MB MinimalCd против
100-200mb minimal-a-cd в 2008 и 600mb Liv-a в тоже году.
И рост, так сказать, продолжается.

Тут, правда, вспоминаю тему на Лоре с вопросом: есть Линкус без Пайтон?!
А также вспоминаю где-то вычитанный спор проф. Таненбаума с Линусом на тему того "а что он будет потом с таким подходом"?!

Но я предлагаю не развивать тему, так как уже просто поздно.
Время ушло.

С ноября 2022 нетбук HP mini (Processor: Atom n570)

.

«Liv» это у нас кто?

:wq
--
Live free or die

Закрываю тему

Товарищи, спасибо, кто откликнулся, по крайней мере открыли мне источник знаний по eclass-ам, что в хозяйстве пригодится.

Повнимательней почитав код EcoAssist-а, я понял, что он ставится в эдакий sandbox в хомяке, использует несколько виртуальных сред Питона, и с системой практически не взаимодействует. Оставим на совести автора такую архитектуру, но по делу, убрав из его самопального bash-инсталлятора завязки на apt и gnome-terminal, можно смело ставить. А модель распознавания зайцев, которую я пишу под свежий SWIN transformer и, естественно, системный python-3.12, он переварит через тот же venv.

То, о чем я писал выше...

То, о чем я писал выше... намекая на то, что оно иногда не стоит усилий (проще спрогнозировать время использования это программы в будущем, может, через 3 года она Вам уже будет не нужна).

С ноября 2022 нетбук HP mini (Processor: Atom n570)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".