Существуют ли библиотеки графического интерфейса для Python, которые позволяют компилировать в EXE (Windows) и APP (Mac)? - PullRequest
10 голосов
/ 31 августа 2010

Я работаю над приложением, которое должно быть кроссплатформенным.Я хотел бы использовать для этого Python и ищу наборы инструментов с графическим интерфейсом, которые делают программирование интерфейса простым и легким.После небольшой охоты я нашел PythonCard .Похоже, что он идеально подходит для всех, но я не уверен, что удастся скомпилировать его до соответствующего исполняемого файла для каждой операционной системы.Я нашел эти инструкции, но им уже 6 лет.

Какое бы решение я ни выбрал, оно должно поддерживать следующее:

  • Написать один графический интерфейс для работы с обоимиWindows и Mac OSX
  • Необходимо «скомпилировать» в легко распространяемый файл для обоих окон / mac
  • Скомпилированный файл не должен требовать установки Python на компьютер пользователя

Может ли кто-нибудь порекомендовать библиотеку / решение, прежде чем я войду в пустынный мир Java?

Ответы [ 6 ]

4 голосов
/ 31 августа 2010

Я думаю, что ответ здесь не столько о конкретном инструментарии графического интерфейса, сколько о распространении автономных приложений на Python. Лично я нашел инструменты для этого немного менее совершенными, чем хотелось бы, но после некоторой суматохи они сделали свою работу. Наиболее вероятный кандидат, который соответствует вашим потребностям, - cx_Freeze . Хотя есть специфичные для Windows py2exe и специфичные для Mac py2app , которые могут заполнить счет, если cx_Freeze недостаточно.

4 голосов
/ 31 августа 2010

Используйте PyInstaller для распространения приложения с помощью наборов инструментов PyQt или WxPython.С веб-сайта:

PyInstaller - это программа, которая преобразует (упаковывает) программы Python в автономные исполняемые файлы под Windows, Linux и Mac OS X.

Asдля наборов инструментов gui PyInstaller задокументирован для работы с Qt3, Qt4 и WxPython.

StackOverflow contributor dF, использует PyInstaller "для приложения, которое зависит от PyQt,PyQwt, numpy, scipy и еще несколько. "

0 голосов
/ 31 августа 2010

Для разработчиков графического интерфейса Wxpython отметьте этот вопрос .Я кратко попробовал boa-contstructor, но я нашел это слишком ограничивающим, поскольку не все виджеты поддерживаются.AFAIK Ни один из дизайнеров wxpython не поддерживает все виджеты (как минимум из коробки).

Лично я нахожу, что быстрее и проще писать код моего GUI.Я бы сказал, что мне понадобилось всего несколько дней, чтобы стать достаточно комфортным / фамильярным wxpython.Если вам нужно сделать что-то другое, то создать простое приложение, а затем потратить немного времени на изучение wxpython, принесет свои дивиденды.

Если вы связаны с идеей иметь дизайнер спускаемого графического интерфейса, тогда вам лучше всего выбрать PyQt, поскольку это IMHO - единственный инструментарий, имеющий солидный зрелый редактор - Qt Designer

Что касается создания автономных исполняемых файлов, я использовал только py2exe для Windows. py2app делает то же самое для Mac, хотя я еще не пробовал.

Для установщиков Windows извлечение эта тема

0 голосов
/ 31 августа 2010

Эта презентация проходит через весь процесс, а также заканчивается Py2exe и Py2app ...

0 голосов
/ 31 августа 2010

Если вы хотите, чтобы ваше приложение выглядело и чувствовало себя нативным, тогда wxPython - это путь.PyQt может выглядеть нативно, но не похоже, что он всегда ведет себя нативно (согласно некоторым темам, которые я читал).Для создания бинарных файлов используйте py2exe или что-то подобное для Windows и py2app для Mac

0 голосов
/ 31 августа 2010

Хм.

Может быть, лучше перенести мой пост в комментарии, но. Почему вы хотите «скомпилировать» код Python, и почему вы считаете, что какая-то инфраструктура графического интерфейса должна обеспечивать некоторые возможности упаковки / установки?

В нашей компании мы написали кроссплатформенное приложение с графическим интерфейсом и, конечно, мы должны сделать его легко доступным для клиентов. Итак, мы нашли подходящий GUI-каркас с привязками Python (Qt), затем мы выбрали метод, чтобы скрыть ненужные детали о реализации и исчезающих зависимостях (Py2Exe для Windows, Py2App для Mac и ничего для linux, но вы можете попробовать PyInstaller или cx замораживать).

Установка для каждой ОС, выполненная таким образом, по принципу наименьшего удивления. Вот почему мы не упаковывали версию linux в какие-то двоичные исполняемые файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...