Bug 39052 - Ошибка при запуске расширений
Summary: Ошибка при запуске расширений
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: inkscape (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-08 21:52 MSK by a.serg
Modified: 2020-10-21 22:09 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description a.serg 2020-10-08 21:52:02 MSK
Попытка запуска "Расширения -> Создание из контура -> Текстура по контуру" заканчивается не найденным модулем numpy.

https://stackoverflow.com/questions/52046845/changing-the-python-interpreter-for-inkscape

По ссылке рецепт решения: вставить
<group id="extensions" python-interpreter="/usr/bin/python" ... />
в файл /home/user/.config/inkscape/preferences.xml, где строка python-interpreter - это интерпретатор python для запуска python-расширений.
Comment 1 Vitaly Lipatov 2020-10-09 14:40:10 MSK
Проблему повторить не удаётся.
Поскольку бага изначально была для p9, где
inkscape-1.0-alt1.x86_64
, отправляю в p9
inkscape-1.0.1-alt1.x86_64
где консистентность с python3 улучшена.
Comment 2 a.serg 2020-10-15 19:38:29 MSK
[SL9] inkscape 1.0.1
Да, бага в p9, теперь в обновлённой версии.
Рисую два контура и выделяю оба, "Расширения -> Создание из контура -> Текстура по контуру", далее жму "предварительный просмотр" или "Применить".

copypast:
"Traceback (most recent call last):
  File "pathalongpath.py", line 36, in <module>
    from inkex.bezier import pointdistance, beziersplitatt, tpoint
  File "/usr/share/inkscape/extensions/inkex/bezier.py", line 29, in <module>
    import numpy
ModuleNotFoundError: No module named 'numpy'"

PS: все старые конфиги перед обновлением удалил
Comment 3 Vitaly Lipatov 2020-10-16 01:31:35 MSK
(Ответ для a.serg на комментарий #2)
> [SL9] inkscape 1.0.1
> Да, бага в p9, теперь в обновлённой версии.
> Рисую два контура и выделяю оба, "Расширения -> Создание из контура ->
> Текстура по контуру", далее жму "предварительный просмотр" или "Применить".
> 
> copypast:
> "Traceback (most recent call last):
>   File "pathalongpath.py", line 36, in <module>
>     from inkex.bezier import pointdistance, beziersplitatt, tpoint
>   File "/usr/share/inkscape/extensions/inkex/bezier.py", line 29, in <module>
>     import numpy
> ModuleNotFoundError: No module named 'numpy'"
> 
> PS: все старые конфиги перед обновлением удалил
apt-get install python3-module-numpy
Comment 4 a.serg 2020-10-16 09:32:59 MSK
Ок!, получилось.
Comment 5 Vitaly Lipatov 2020-10-16 12:55:48 MSK
(Ответ для a.serg на комментарий #4)
> Ок!, получилось.
Мне numpy кажется слишком тяжёлой зависимостью. Но признаю́сь, по вашему первому багрепорту проглядел, что у меня numpy уже установлен. В будущем буду в hasher тестировать.

 # apt-get install python3-module-numpy
...
libgfortran5 liblapack libnumpy-py3 libopenblas libquadmath0 libxblas python3-module-numpy
...
Need to get 7469kB of archives.
After unpacking 55.1MB of additional disk space will be used.

Думаете, стоит добавить в зависимости?
Comment 6 a.serg 2020-10-16 13:39:41 MSK
Однозначно добавить, т.к. в спеке пакета inkscape уже встречалась зависимость на lxml после аналогичной проблемы:
https://bugzilla.altlinux.org/21626
.
Comment 7 Vitaly Lipatov 2020-10-16 22:14:33 MSK
Я добавлю поиск зависимостей для всех плагинов тогда.
Comment 8 Repository Robot 2020-10-17 10:20:40 MSK
inkscape-1.0.1-alt2 -> sisyphus:

 Fri Oct 16 2020 Vitaly Lipatov <lav@altlinux.ru> 1.0.1-alt2
 - cleanup spec, add search requires in extensions dir (ALT bug 39052)
Comment 9 Michael Shigorin 2020-10-19 15:54:56 MSK
Тот самый случай про мягкие зависимости и Recommends:.
Comment 10 Vitaly Lipatov 2020-10-19 16:33:54 MSK
(Ответ для Michael Shigorin на комментарий #9)
> Тот самый случай про мягкие зависимости и Recommends:.
Предлагаю поддержать идею о вынесении extensions в отдельный подпакет. Он и будет recommends.
Comment 11 Vitaly Lipatov 2020-10-21 02:58:17 MSK
Установка inkscape 1.0.1 в базовую систему p9 (по понятию hasher):
Need to get 106MB of archives.
After unpacking 495MB of additional disk space will be used.

Обновление до сборки с включенными зависимостями extensions:
 # apt-get install inkscape
...
  libgfortran5 liblapack libncurses-devel libopenblas libquadmath0 libtinfo-devel libxblas python3-dev python3-module-apipkg python3-module-attrs python3-module-iniconfig python3-module-more-itertools python3-module-numpy python3-module-packaging
  python3-module-pkg_resources python3-module-pluggy python3-module-py python3-module-pyparsing python3-module-pytest python3-module-setuptools python3-module-wcwidth rpm-build-python3 tests-for-installed-python3-pkgs
2 upgraded, 23 newly installed, 0 removed and 1 not upgraded.
Need to get 0B/28.8MB of archives.
After unpacking 63.1MB of additional disk space will be used.

Среди них конечно особенное безобразие это
libncurses-devel
libtinfo-devel
python3-dev
rpm-build-python3
tests-for-installed-python3-pkgs
python3-module-pytest
python3-module-setuptools

Это всё из-за этого:
python3(setuptools) < 0 is needed by (installed) inkscape-1.0.1-alt2.x86_64

буду исправляться.
Comment 12 Vitaly Lipatov 2020-10-21 22:09:50 MSK
(Ответ для Vitaly Lipatov на комментарий #11)
..
> Это всё из-за этого:
> python3(setuptools) < 0 is needed by (installed) inkscape-1.0.1-alt2.x86_64
> 
> буду исправляться.
Отправил в Сизиф сборку inkscape.git=1.0.1-alt3
где убраны ошибочные зависимости на setuptools и pytest.

По моим измерениям включение всех зависимостей, требуемых для extensions, потребовало дополнительно для устанавливаемых по зависимостям пакетов 9Мб (40Мб в установленном виде), при том, что сам inkscape занимает 22 (180Мб).