Существуют ли библиотеки GUI для Python, которые позволяют вам скомпилировать EXE (Windows) и APP (Mac)?
Я работаю над приложением, которое мне нужно быть кросс-платформенным. Я бы хотел использовать Python для этого, и я ищу инструменты GUI, которые упрощают и упрощают программирование интерфейса. После небольшой охоты я нашел PythonCard. Это похоже на то, что он отлично подходит для счета, но я не уверен, что можно будет скомпилировать его до соответствующего исполняемого файла для каждой операционной системы. Я нашел эти инструкции, но им 6 лет.
Независимо от решения, которое я выбираю, необходимо поддерживать следующее:
- Напишите один графический интерфейс для работы как с ОС Windows, так и с Mac OSX
- Должен компилироваться в легко распространяемый файл для windows/mac
- Скомпилированный файл не должен устанавливать Python на компьютер пользователя.
Может ли кто-нибудь порекомендовать библиотеку/решение, прежде чем я войду в пустынный мир Java?
Ответы
Ответ 1
Я думаю, что ответ здесь меньше о конкретном инструментарии GUI и о распространении автономных приложений python. Лично я нашел инструменты для этого немного менее совершенным, чем хотелось бы, но после некоторого финиша они выполняют свою работу. Наиболее вероятным кандидатом, который бы соответствовал вашим потребностям, является cx_Freeze. Хотя существует специальная py2exe, а Mac - py2app, который может заполнить счет, если cx_Freeze недостаточно.
Ответ 2
Используйте PyInstaller, чтобы распространять приложение с помощью PyQt или WxPython gui toolkits. На веб-сайте:
PyInstaller - это программа, которая преобразует (пакеты) программы Python в автономные исполняемые файлы под Windows, Linux и Mac OS X.
Что касается наборов gui, PyInstaller документирован для работы с Qt3, Qt4 и WxPython.
StackOverflow contributor dF, использует PyInstaller для приложения, которое зависит от PyQt, PyQwt, numpy, scipy и еще нескольких.
Ответ 3
Хм.
Может быть, лучше переместить мой пост в комментарии, но. Почему вы хотите "скомпилировать" код python и почему, по вашему мнению, какая-то инфраструктура графического интерфейса должна предоставлять некоторые возможности для упаковки/установки?
В нашей компании мы создали кросс-платформенное графическое приложение, и, конечно же, мы должны сделать его легко доступным для клиентов. Итак, мы нашли подходящую инфраструктуру GUI с привязками python (Qt), затем мы выбрали метод, чтобы скрыть ненужные подробности о реализации и исчезновении зависимостей (Py2Exe для Windows, Py2App для Mac и ничего для Linux, но вы можете попробовать PyInstaller или cx- замораживать).
Установка для каждой ОС, сделанной в этой ОС, согласно наименее удивительному принципу. Вот почему мы не упаковывали версию Linux в какие-то бинарные исполняемые файлы.
Ответ 4
Если вы хотите, чтобы ваше приложение выглядело и само по себе, тогда wxPython - это путь. PyQt может выглядеть как родной, но звучит не так, как будто он всегда ведет себя по-родному (согласно некоторым потокам, которые я прочитал). Чтобы создать двоичные файлы, используйте py2exe или некоторые из них для Windows и py2app для Mac
Ответ 5
Эта презентация проходит процесс, а также завершается с Py2exe и Py2app...
Ответ 6
Для дизайнеров GUI Wxpython проверьте этот вопрос. Я перепробовал boa-contstructor, но я нашел его слишком ограничивающим - не все виджеты поддерживаются. AFAIK ни один из дизайнеров wxpython не поддерживает все виджеты (из коробки по крайней мере).
Я лично считаю, что быстрее и легче передать код моего графического интерфейса. Я говорю, что мне потребовалось всего несколько дней, чтобы стать достаточно комфортным/семейным wxpython. Если вам нужно сделать что-нибудь другое, а затем создать простое приложение, то потребуется немного времени, чтобы узнать, что wxpython будет выплачивать свои дивиденды.
Если вы связаны с идеей создания дизайнера GUI спуска, то ваш лучший выбор - probabaly PyQt, поскольку этот IMHO - единственный инструментарий, у которого есть зрелый зрелый редактор - Qt Designer
Как для создания автономных excutables Ive использовал py2exe для окон. py2app делает то же самое для mac, хотя я еще не пробовал это.
Для разработчиков Windows checkout этот поток