mafulechka
mafulechka08 червня 2020 р. 13:58

Випущено Qt для Python 5.15.0!

Компанія Qt рада оголосити про вихід Qt для Python 5.15.0! 🎊🐍

Ви можете отримати останню версію за допомогою pip install pyside2 або просто оновивши поточну установку: pip install -U pyside2.

У той же час, розробники Qt хотіли випустити ще одну версію для користувачів, які все ще використовують 5.14, тому вирішили випустити 5.14.2.2. Ви можете також отримати його через pip install pyside2==5.14.2.2.


Розробники Qt витратили більшу частину часу на вирішення старої проблеми, пов'язаної з потоками та Python, але все ж таки у них був час попрацювати і над іншими поліпшеннями, які ви можете перевірити у списку змін. Тепер давайте трохи поговоримо про цей випуск.

Потоки в PySide

Давним-давно, ще до офіційного випуску, розробники Qt мали звіт про помилку, що вказує на проблему при запуску Threads у додатку PySide. Вони розуміли, що це потрібно вирішити, але ніколи не очікували, що це вимагатиме абсолютно нового підходу до взаємодії з Python Global Interpreter Lock (GIL).

Витративши багато часу, намагаючись це з'ясувати, і, змішавши різні підходи, якими команда намагалася вирішити проблему, у результаті знайшли правильне рішення.
У двох словах, рішення було знайдено за допомогою:

• Механізму кешування, що дозволяє уникнути виділення GIL, коли методи не мають перевизначення за допомогою функції Python.
• зменшення використання Py_BEGIN_ALLOW_THREAD та Py_BEGIN_ALLOW_THREAD,
• Не дозволяти потоки за замовчуванням у всіх методах, але лише за необхідності.

Ви можете прочитати більше про цю пригоду тут: PYSIDE-803, але насамкінець, ми раді повідомити вам, що реактивність у потоці була значно покращена!

На цьому історія не закінчилася, оскільки тепер з цим суворим підходом розробникам Qt потрібно було виявляти особливу обережність у багатьох «крайніх випадках» (крайній випадок пов'язаний із проблемою чи ситуацією, що виникає лише за межами нормальних робочих параметрів), одним з яких є PYSIDE -813, з якого розробники дізналися, що CPython функція PyDict_GetItem працює зі станом потоку, щоб підтримувати змінні глобальних помилок, але що важливіше, знайшли стан гонки, який стався в диспетчері сигналів.

Ці виправлення були в 5.14, і саме тому компанія Qt хотіла включити останні відкриття та виправлення у дві нові версії поверх 5.14.2.

Комерційна пропозиція

Коли розробники Qt не були зайняті з'ясуванням проблем GIL та Threading у PySide, вони приділили багато часу прослуховування запитів від клієнтів Qt, які хотіли використовувати деякі модулі Qt для автоматизації з Python. Тому компанія Qt рада оголосити, що 5.15.0 – це перша версія Qt для Python з комерційними доповненнями:

• Qt CoAP,
• Qt MQTT и
• Qt OPC UA.

Комерційні клієнти будуть отримувати Python Packages (wheels) не від PyPi , що дозволяє просто набрати pip install pyside2, а за внутрішнім посиланням для скачування. Після завантаження пакетів (packages) можна буде встановити файли, виконавши такі команди:

pip install shiboken2-5.15.0.commercial-5.15.0-cp35.cp36.cp37.cp38-none-win_amd64.whl
pip install PySide2-5.15.0.commercial-5.15.0-cp35.cp36.cp37.cp38-none-win_amd64.whl

Пам'ятайте, що сюди не входить Shiboken Generator, інструмент створення прив'язок, оскільки для встановлення потрібні додаткові кроки.

Запрошення спільноти

Існує безліч способів створення графічних інтерфейсів (Graphical User Interfaces) з використанням Python, але компанія Qt бачить значний приріст користувальницької бази, тому твердо вірить, що це найважливіша частина проекту.

Компанія Qt приєдналися до заходу Hacktoberfest у Берліні, де люди вирішили допомогти розробникам Qt перенести кілька прикладів з C++ на Python. Компанія Qt дуже вдячна за це.

KDAB як партнер компанії Qt також зробив свій внесок у Qt для Python, тому розробникам Qt вдалося покращити модуль завдяки взаємодії з ними.

Коли користувачі хочуть почати з вкладів, компанія Qt намагається допомогти їм своїми каналами зв'язку. Як приклад, тепер компанія має доступ до QtSerialPort в PySide, завдяки Андреасу, зовнішньому учаснику, який потребував модуля, і вирішив внести його в проект.

І останнє, але не менш важливе: компанія Qt хоче подякувати своїм учасникам, які активно допомагають іншим користувачам в Mailing list, IRC, Matrix, Gitter, Keybase та Telegram.

Що далі?

Компанія Qt розробила Qt 5.15 з урахуванням Qt6 і намагається зосередитися на тому, як покращити поточний стан модуля.
Документація: фрагменти коду C++, відсутні приклади, помилки аргументів і т. д. - ось спільні проблеми, з якими розробники Qt зіткнулися у спільноті, і вони поступово намагаються покращити поточну ситуацію. Але компанія готує посібники для людей, які допоможуть їм покращити поточний стан документів.

Приклади та навчальні посібники: після Qt Virtual Tech Con 2020 багато хто почав запитувати більше прикладів та можливість проводити більш тривалі заняття для опису найбільш популярних випадків. Для цього компанія Qt планує нові події та матеріали, пов'язані з тим, як змішувати C++ та Python та багато іншого.

Shiboken: Крім високого попиту на підручники та інші приклади, компанія концентрує свої зусилля на коригуванні поточної поведінки щодо Qt6. Вже почали робити "прибирання будинку" у своєму інструменті генератора прив'язок. Розробники Qt хотіли б почути від вас чого не вистачає. Що вам потрібно, пов'язане із Shiboken?

PySide: Поліпшення комерційної пропозиції дасть компанії Qt можливість отримувати відгуки від своїх клієнтів, які будуть використовувати різні сценарії комерційних програм, що принесе на стіл нові варіанти використання, з яких розробники зможуть покращити модуль.

Привіт усім проектам OSS, заснованим на PySide, у компанії Qt був прямий контакт з ними, щоб розставити пріоритети помилок і додати нові спеціальні функції для модуля.

Компанія Qt робить все можливе, щоб донести до своїх користувачів всі можливості Qt6 (описані в PYSIDE-904), але розробники були б ще щасливішими почути, що, на вашу думку, необхідно чи відсутнє.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
МВ

Qt - Тест 001. Сигналы и слоты

  • Результат:68бали,
  • Рейтинг балів-1
ЛС

C++ - Тест 001. Первая программа и типы данных

  • Результат:53бали,
  • Рейтинг балів-4
АА

C++ - Тест 001. Первая программа и типы данных

  • Результат:60бали,
  • Рейтинг балів-1
Останні коментарі
ИМ
Игорь Максимов05 жовтня 2024 р. 17:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 21:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr09 лютого 2024 р. 05:43
Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко05 лютого 2024 р. 12:50
Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 грудня 2023 р. 21:30
Boost - статичне зв&#39;язування в проекті CMake під Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Тепер обговоріть на форумі
K
Keithfap13 жовтня 2024 р. 19:24
добавить qlineseries в функции North Symbol by Bubnov Ltd https://seven-elephants.com/en/categories/penthouse/ Искеле – жемчужина острова! Все факторы говорят про большой инвестиционный потенциал данного района как для …
ИМ
Игорь Максимов03 жовтня 2024 р. 14:05
Реализация навигации по разделам Спасибо Евгений!
JW
Jhon Wick02 жовтня 2024 р. 01:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27 вересня 2024 р. 19:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22 липня 2024 р. 14:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Слідкуйте за нами в соціальних мережах