Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 4.42 KB

clvxk6lb7000a08mghuu13zgb.md

File metadata and controls

40 lines (24 loc) · 4.42 KB
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. Этот проект небольшой, поэтому вся работа заняла один вечер. На проектах большего размера целесообразность таких действий надо ставить под вопрос. Чек-лист как раз поможет сообразить, стоит ли игра свеч.

Чек-лист

  1. Перейти на Python 3.8. Это последняя версия Python, поддерживающая Windows 7. Если в проекте не используются фишки от Python 3.9+, то исправлений может вообще не быть. Иначе же что-то придется переписать. Например, отказаться от switch.

  2. Перейти на PySide2. По большей части API PySide6 и PySide2 не отличаются. Всё здесь даже немного проще, чем с Python 3.8. Если не используются специфические фишки PySide6, то вся работа сведется к элементарной замене import-ов.

    1. Проконтролировать версию OpenSSL. Последняя версия PySide2 (Qt 5.15.2.1) использует OpenSSL 1.1.1. Необходимо убедиться, что в системе есть ее библиотеки. Иначе модуль PySide2.QtNetwork не сможет работать с SSL.

    2. Заменить функцию QApplication.exec() на QApplication._exec(). Запуск главного обработчика событий в PySide2 выполнялся по-другому.

    3. Заменить функцию QLibraryInfo.path() на QLibraryInfo.location(). Это относится к получению стандартных путей PySide.

Обновления

В репозитории YouTubeAnalyzer порт на Windows 7 всегда находится на отдельной ветке port_win7. Будущие версии планирую портировать здесь же, пока не отпадет необходимость либо не появится непортируемая функциональность. Чек-лист тоже будет обновляться.


Следите за обновлениями в Телеграм Так себе программист