2008-09-30 4 views
11

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

Какие у меня есть варианты библиотеки графического интерфейса, которые позволяют мне распространять свое приложение автономно, предполагая, что у пользователей нет рабочей установки на Python и, очевидно, нет графических библиотек, которые я использую?

Кроме того, как я могу упаковать все в двоичные файлы разумно размер для каждой целевой ОС? (Мои главные цели являются для Windows и Mac OS X)

Дополнение: Я смотрел на WxPython, но я нашел много страшилок упаковки его с cx_freeze и получать 30mb + двоичные файлы, и никакого реального советы о том, как фактически делать упаковку и как она заслуживает доверия.

ответ

0

Я использовал py2exe себя - это очень легко (по крайней мере, для небольших приложений).

1

http://Gajim.org для Windows использует python и PyGtk. Вы можете проверить, как они это сделали. Кроме того, есть PyQt для GUI (и wxpython, упомянутых ранее).

2

Python имеет встроенный инструментарий GUI с именем TKinter, который основан на Tk-библиотеке с языка программирования TCL. Он очень простой и не имеет всех функций, которые вы ожидаете в Windows Forms или GTK, например, но если у вас должен быть инструментарий, независимый от платформы, я не вижу другого выбора, учитывая, что вы также не хотите, чтобы так много бинарных файлов.

Tkinter совсем не сложно использовать, так как у него нет миллионов виджетов/элементов управления и опций, и это набор инструментов по умолчанию, включенный в большинство дистрибутивов python, по крайней мере, в Windows, OSX и Linux.

GTK и QT красивее и мощнее, но у них есть один большой недостаток для вас: они тяжелы и deppend для третьих библиотек, особенно GTK, который имеет много зависимостей, что делает его немного трудно распределить это поместить его в ваше программное обеспечение.

Что касается создания двоичного кода, я знаю, что есть py2exe, который преобразует код python в исполняемый код win32 (.exe), но im не уверен, есть ли что-то подобное для OSX. Вы беспокоитесь, потому что люди могли видеть исходный код или просто чтобы вы могли связать все в одном пакете? Если вы просто хотите, чтобы связать все, что вам не нужно, чтобы создать автономный исполняемый файл, вы можете легко создать инсталлятор:

Creating distributable in python

Это руководство о том, как распределить свое программное обеспечение, когда это сделано.

0

Combination, что я знаком с: WxPython, py2exe, UPX

Ключа к разрешению вашей последней озабоченности по поводу размера распределения с помощью upx для сжатия библиотеки DLL. Похоже, они поддерживают исполняемые файлы MacOS. Вы заплатите начальное декомпрессионное наказание, когда DLL загружаются впервые.

1

У меня нет опыта создания автономных приложений на любой платформе, отличной от Windows.

Это говорит:

Tkinter: отлично работает с py2exe. Python Megawidgets («библиотека расширений» для Tkinter) отлично работает, но он вызывает фанки с динамическим импортом, поэтому вам нужно объединить все компоненты в большой файл pmw.py и добавить его в свой проект (ну, вы также будете иметь pmwblt.py и pmwcolor.py). Существуют инструкции о том, как это сделать где-нибудь (либо на py2exe wiki, либо в документах PMW). Tix (расширение для Tk, которое вы можете использовать с Tkinter) не работает с py2exe, или, по крайней мере, это был мой опыт около четырех лет назад.

wxPython также отлично работает с py2exe. Я просто проверил приложение, которое у меня есть; весь дистрибутив составил около 11 МБ. Большинство из них были файлами wx и .pyd, но я не вижу, как вы могли этого избежать. Если вы нацелены на Windows XP, вам нужно включить манифест в ваш setup.py, иначе он будет выглядеть уродливым. См. this email.

 Смежные вопросы

  • Нет связанных вопросов^_^