16 октября вышла стабильная версия компилятора Nuitka 1.1, предназначенного для сборки скриптовых приложений на Python в исполняемый файл через трансляцию в C.
В новом релизе много изменений, включая баг-фиксы, оптимизацию, тесты и прочее. Среди основных нововведений можно выделить следующие:
- Python3.10: Добавлена поддержка альтернативы
matchв виде|. - Совместимость:
- Добавлен загрузчик на основе метапутей Nuitka с помощью
pkg_resourcesтаким образом, чтобы проверка наличия ресурса с помощьюhas_resourceоставалась работоспособной. Это также должно добавить поддержку использованияjinja2.PackageLoader( ранее работал толькоjinja2.FileSystemLoader). - Функцию
__defaults__теперь можно сделать изменяемой по размеру атрибута. Долгое время это было относительно большой проблемой для некоторых пакетов, но теперь это также поддерживается. - Добавлена поддержка функций:
importlib.metadata.distribution;importlib_metadata.distribution;importlib.metadata.metadata;importlib_metadata.metadata.
- Добавлен загрузчик на основе метапутей Nuitka с помощью
- Добавлена поддержка включения других двоичных файлов, кроме основного исполняемого файла. До сих пор в не-Windows создавался только основной двоичный исполняемый файл, жестко закодированный, и ничего больше. Но некоторые вещи, например,
QtWebEngine, требуют использования двоичных файлов, и теперь у них больше нет проблемы с отсутствиемx-bitв macOS и Linux. - Автономность: разрешен путь к исполняемому файлу при вызове по символической ссылке.
- Python3.9+: Добавлена поддержка
importlib.resources.filesсо скомпилированными модулями. - UI: Добавлен метод интерфейса для указания шаблонов имен файлов с опцией включения данных пакета, что позволяет использовать
--include-package-dataво многих случаях, выбирая только нужные файлы или типы файлов. Теперь можно использовать--include-package-data=package_name=*.txtи выбрать только подмножество файлов данных пакета. До этого он включал в себя все, и приходилось использовать--noinclude-data-files. - Добавлено последоваельное разрешение условия
whenдля всех элементов конфигурации пакета, например, для библиотек DLL. - В macOS добавлена подпись рантайма в качестве экспериментальной опции.
- Плагины:
- Добавлен метод перегрузки специально для работы с автономным двоичным файлом. Это упрощает изменение только этого конкретного двоичного файла.
- Добавлена поддержка регулярных выражений в заменах с
anti-bloat-защитой и новым методомreplacements_re.
>>> Подробности














