title | seoTitle | seoDescription | datePublished | cuid | slug | cover | tags |
---|---|---|---|---|---|---|---|
Чек-лист для запуска проекта на PySide6 под Windows 7 |
Чек-лист для запуска проекта на PySide6 под Windows 7 |
Рассматриваем возможность запуска проекта на PySide6 под Windows 7 путем перехода на PySide2 |
Wed May 08 2024 08:29:42 GMT+0000 (Coordinated Universal Time) |
clvxk6lb7000a08mghuu13zgb |
chek-list-dlya-zapuska-proekta-na-pyside6-pod-windows-7 |
checklist, python, windows-7, pyside6, pyside, chek-list |
На проекте YouTubeAnalyzer используется свежий PySide6 и Python 3.11+. В связи с этим запуск программы возможен только на Windows 10 и выше (уже привычное требование в современных продуктах).
Но реальность как обычно другая. Есть пользователи, которые по разным причинам могут работать только с Windows 7(8). С одной стороны, можно их проигнорировать и просто развести руками, но с другой - помочь и попробовать перевести проект на технологии, совместимые с Windows 7. И в истории с Python/PySide это выполнимо.
Ниже привожу чек-лист портирования проекта на PySide6 под Windows 7 на примере YouTubeAnalyzer. Этот проект небольшой, поэтому вся работа заняла один вечер. На проектах большего размера целесообразность таких действий надо ставить под вопрос. Чек-лист как раз поможет сообразить, стоит ли игра свеч.
-
Перейти на Python 3.8. Это последняя версия Python, поддерживающая Windows 7. Если в проекте не используются фишки от Python 3.9+, то исправлений может вообще не быть. Иначе же что-то придется переписать. Например, отказаться от
switch
. -
Перейти на PySide2. По большей части API PySide6 и PySide2 не отличаются. Всё здесь даже немного проще, чем с Python 3.8. Если не используются специфические фишки PySide6, то вся работа сведется к элементарной замене
import
-ов.-
Проконтролировать версию OpenSSL. Последняя версия PySide2 (Qt 5.15.2.1) использует OpenSSL 1.1.1. Необходимо убедиться, что в системе есть ее библиотеки. Иначе модуль
PySide2.QtNetwork
не сможет работать с SSL. -
Заменить функцию
QApplication.exec()
наQApplication._exec()
. Запуск главного обработчика событий в PySide2 выполнялся по-другому. -
Заменить функцию
QLibraryInfo.path()
наQLibraryInfo.location()
. Это относится к получению стандартных путей PySide.
-
В репозитории YouTubeAnalyzer порт на Windows 7 всегда находится на отдельной ветке port_win7
. Будущие версии планирую портировать здесь же, пока не отпадет необходимость либо не появится непортируемая функциональность. Чек-лист тоже будет обновляться.
Следите за обновлениями в Телеграм Так себе программист