Ответ 1
PyQT [и его кузена с открытым исходным кодом PySide] - отличная кросс-платформенная привязка QT для python, но это не волшебное решение для доставки вашего приложения для всех платформ, не занимаясь обслуживанием упаковки/установки. Я думаю, может быть, вы можете ожидать магии.
QT - это кросс-платформенная библиотека, написанная на С++. Это означает, что вы можете написать код С++ или Python (или другой язык с привязками) один раз и создать "окно" (форму, диалоговое окно, что-то на экране) и заполнить его с помощью элементов управления (кнопок и всего этого ) и не должны иметь дело с различиями в платформе, как кнопки создаются в Windows, Linux и Mac OS X.
Поскольку это библиотека, ее можно упаковать несколькими способами. Он может быть "статически связан" (встроен в исполняемый файл/двоичный файл/приложение) или "динамически связан" (известный как DLL в Windows, разделяемая библиотека или unix/linux или как фреймворк в mac os x). Он не всегда "установлен" на компьютере, если он не является общей библиотекой.
Даже когда он "установлен" на компьютер, на этом компьютере может существовать несколько версий, поэтому не следует думать, что это расширение для вашего компьютера, а расширение для приложения (программа ) на вашем компьютере.
Если вы используете привязки Python для QT, то ваш установочный пакет для вашего приложения должен включать в себя двоичные файлы привязки QT (расширения python), базовую среду исполнения Python, включая исполняемые и базовые библиотеки Python, и исходный код вашей программы. Можно упаковать большую часть этого в один "пакет". Например, в Mac OS X все это можно легко добавить в пакет ".app", а в Windows и Linux я считаю, что есть инструменты для упаковки и установки, которые могут помочь вам сделать это легко.
Несмотря на то, что вам нужно будет только один раз написать код пользовательского интерфейса для своего приложения, вы не сможете магически получить возможность отправлять заявку на всех трех основных платформах одновременно, не делая по крайней мере здания установщика или упаковки, отдельно для каждой платформы. Пользователи ожидают загрузить установочный/установочный пакет для Windows или Mac OS X, и, возможно, для Unix/Linux зависит от того, какой дистрибутив вы устанавливаете.
Обновление благодаря AdamW для этой ссылки nokia, содержащей информацию о развертывании