Просьба собрать DSR с python3, очень хочется избавиться от Требует: <python2.7(networkx)> python-module-networkx-core-2:2.2-alt4:sisyphus+256150.300.2.1@1597136252
Я пробовал собирать его с python3. Он даже собирается, но у меня не работает, сыпит ошибками при попытке использования. Я не специалист в питоне. Собирал то, что использую сам, а потому мне важнее, чтобы оно работало, а не чтобы было собрано на с python3. Собрал с идущим в комплекте networkx, теперь не должен требовать тот, что в репозитории.
(Ответ для Denis G. Samsonenko на комментарий #1) > Я пробовал собирать его с python3. Он даже собирается, но у меня не > работает, сыпит ошибками при попытке использования. Я не специалист в Если ещё раз будете пробовать, можете записать сюда ошибки, может быть, удасться понять. ... > Собрал с идущим в комплекте networkx, теперь не должен требовать тот, что в > репозитории. Спасибо!
Также он позволит отказаться от python-module-mpmath DSR-233-alt1:sisyphus+270999.100.2.1@1619770575 Требует: <python2.7(mpmath)>
Попробовал ещё раз собрать с python3 (task #277549), воспользовавшись наработаками Andrey Bychkov для более старой версии (task #249166). Собрал без упаковки идущего с ним mpmath и networkx и без зависимости на них вообще. Вроде даже работает, по крайней мере на p9, если вызывать из gui shelxle. Однако вызов из консоли при некоторых параметрах (-u, попытка апдейта) приводит к ошибке: Traceback (most recent call last): File "/usr/share/DSR/dsr.py", line 486, in <module> dsr = DSR(options) File "/usr/share/DSR/dsr.py", line 97, in __init__ selfupdate.update_dsr() File "/usr/share/DSR/selfupdate.py", line 121, in update_dsr if (int(VERSION) >= int(version)) and version > 0: TypeError: '>' not supported between instances of 'str' and 'int' Работать это не мешает, т.к. вряд ли будет кто вызывать 'dsr -u' в консоли, но всё равно как-то неаккуратно. Предыдущий вариант, собранный с python2.7, отрабатывает без ошибок -- сообщает, что и так уже последняя версия стоит.
(Ответ для Denis G. Samsonenko на комментарий #4) > Попробовал ещё раз собрать с python3 (task #277549), воспользовавшись > наработаками Andrey Bychkov для более старой версии (task #249166). > > Собрал без упаковки идущего с ним mpmath и networkx и без зависимости на них > вообще. Вроде даже работает, по крайней мере на p9, если вызывать из gui > shelxle. Это хорошая новость! > Однако вызов из консоли при некоторых параметрах (-u, попытка апдейта) > приводит к ошибке: > > Traceback (most recent call last): > File "/usr/share/DSR/dsr.py", line 486, in <module> > dsr = DSR(options) > File "/usr/share/DSR/dsr.py", line 97, in __init__ > selfupdate.update_dsr() > File "/usr/share/DSR/selfupdate.py", line 121, in update_dsr > if (int(VERSION) >= int(version)) and version > 0: > TypeError: '>' not supported between instances of 'str' and 'int' > version > 0: ну тут сделать int(version)
(Ответ для Vitaly Lipatov на комментарий #5) > > version > 0: > ну тут сделать int(version) ОК, исправил это. Доработал spec, заменил %add_python3_compile_include на %add_python3_path. Зависимостей стало больше. Ненужные provides погасил при помощи %add_findprov_skiplist. Не знаю, на сколько это правильно, но вроде работает на рабочей машине на p9. Task #277857
(Ответ для Denis G. Samsonenko на комментарий #6) > (Ответ для Vitaly Lipatov на комментарий #5) > > > version > 0: > > ну тут сделать int(version) > > ОК, исправил это. Доработал spec, заменил %add_python3_compile_include на Отлично! > %add_python3_path. Зависимостей стало больше. Ненужные provides погасил при > помощи %add_findprov_skiplist. Я предлагаю гасить provides у программ с помощью AutoProv:yes,nopython это как-то конкретнее.
Исправлено в * Пт июл 09 2021 Denis G. Samsonenko <ogion@altlinux.org> 233-alt3 - final fix #39171 (лучше писать ALT bug 39171, чтобы закрылось автоматом) $ epm policy DSR ; epm req DSR ; epm prov DSR $ apt-cache policy DSR DSR: Установлен: 233-alt3:sisyphus+277857.100.1.1@1625848786 Кандидат: 233-alt3:sisyphus+277857.100.1.1@1625848786 Таблица версий: *** 233-alt3:sisyphus+277857.100.1.1@1625848786 0 500 file: ALTLinux/Sisyphus/noarch/classic pkglist 100 RPM Database $ rpm -q --requires DSR /bin/sh python3(__future__) < 0 python3(argparse) < 0 python3(collections) < 0 python3(copy) < 0 python3(datetime) < 0 python3(fnmatch) < 0 python3(hashlib) < 0 python3(math) < 0 python3(mpmath) < 0 python3(os) < 0 python3(platform) < 0 python3(random) < 0 python3(re) < 0 python3(shlex) < 0 python3(shutil) < 0 python3(string) < 0 python3(struct) < 0 python3(subprocess) < 0 python3(tarfile) < 0 python3(tempfile) < 0 rpmlib(PayloadIsLzma) $ rpm -q --provides DSR DSR = 233-alt3:sisyphus+277857.100.1.1