Как установить зависимости apt из инструментов установки?
Я пытаюсь создать пакет deb из инструментов установки Python. Для этого я попробовал добавить install_requires, как показано в этой ссылке. Но, похоже, это для модулей pip, а не пакетов apt. Как и где установить для этого пакеты зависимостей в инструментах установки? Пожалуйста помоги мне с этим.
Мой пример приложения
Мы можем добавить пакеты Python с помощью инструментов настройки в созданный файл deb. Мы можем добавить пакеты apt в качестве зависимостей, используя fpm. Но оба вместе взяты, не знаю, как настроить. Даже я пытался использовать файл deb инструментов настройки в качестве источника для создания deb fpm, но не сработало.
Еще один вариант: я попробовал просто использовать сценарий после установки для установки зависимостей Python в конце. Можете ли вы проверить это один раз, после установки не работает.
Для тестирования я создал базовую команду.
fpm -s empty -t deb -n test --after-install ./tmp/post-install.sh
Содержимое post-install.sh очень простое и используется для тестирования.
#!/bin/bash
echo "testing install"
mkdir -p /tmp/testing
pip install torc
Как только файл deb создан, протестировал его на машинах с Ubuntu 20 и 22 и получил ошибку ниже, так как сценарий после установки не найден.
vagrant@vagrant:~$ sudo apt install -y /vagrant/test_1.0_all.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'test' instead of '/vagrant/test_1.0_all.deb'
The following NEW packages will be installed:
test
0 upgraded, 1 newly installed, 0 to remove and 107 not upgraded.
Need to get 0 B/1,118 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 /vagrant/test_1.0_all.deb test all 1.0 [1,118 B]
Selecting previously unselected package test.
(Reading database ... 41035 files and directories currently installed.)
Preparing to unpack /vagrant/test_1.0_all.deb ...
Unpacking test (1.0) ...
Setting up test (1.0) ...
dpkg (subprocess): unable to execute installed test package post-installation script (/var/lib/dpkg/info/test.postinst): No such file or directory
dpkg: error processing package test (--configure):
installed test package post-installation script subprocess returned error exit status 2
Errors were encountered while processing:
test
E: Sub-process /usr/bin/dpkg returned an error code (1)