Как я могу создать непосредственно исполняемое межплатформенное приложение для GUI с помощью Python?

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

251
задан nbro 18 May 2015 в 16:25
поделиться

8 ответов

Сначала Вам будет нужна некоторая библиотека GUI с привязкой Python и затем (если Вы захотите), некоторая программа, которая преобразует Ваши сценарии Python в автономные исполняемые файлы.

Межплатформенные библиотеки GUI с привязкой Python (Windows, Linux, Mac)

, Конечно, существуют многие, но самые популярные, которые я видел в дикой природе:

  • Tkinter - на основе инструментарий GUI Tk (фактическая стандартная библиотека GUI для Python, бесплатного для коммерческих проектов)
  • WxPython - на основе WxWidgets (популярный, свободный для коммерческих проектов)
  • Qt с помощью привязка PyQt или кварта для Python . Первый не свободен для коммерческих проектов. Последний менее зрел, но может использоваться бесплатно.

Полный список в http://wiki.python.org/moin/GuiProgramming

Единственный исполняемый файл (все платформы)

  • PyInstaller - самое активное
  • fbs - если Вы выбрали, исполняемый файл Qt above

Single (Windows)

  • py2exe - раньше был самым популярным

Единственный исполняемый файл (Linux)

  • Замораживание - работы тот же путь как py2exe, но предназначается для платформы Linux

Единственный исполняемый файл (Mac)

  • py2app - снова, работает как py2exe, но предназначается для Mac OS
269
ответ дан 13 revs, 4 users 74% 23 November 2019 в 02:54
поделиться

Другой системой (не упомянутый в принятом ответе все же) является PyInstaller, который работал на мой проект PyQt, когда py2exe не будет. Я нашел легче использовать.

http://www.pyinstaller.org/

Pyinstaller основан на Установщике Python Gordon McMillan. Который больше не доступен.

55
ответ дан Jace Browning 23 November 2019 в 02:54
поделиться

Альтернативный инструмент к py2exe bbfreeze, который генерирует исполняемые файлы для окон и Linux. Это является более новым, чем py2exe и обрабатывает яйца вполне хорошо. Я нашел, что это волшебно работает лучше без конфигурации для большого разнообразия приложений.

14
ответ дан Michael Twomey 23 November 2019 в 02:54
поделиться

Существует также PyGTK, который является в основном оберткой Python для Инструментария Gnome. Я нашел легче перенести мой ум, чем Tkinter, происходящий из в значительной степени никакого знания GUI, программирующего ранее. Это работает вполне прилично и имеет некоторые хорошие учебные руководства. К сожалению, еще нет установщика для Python 2.6 для Windows и не может быть некоторое время.

11
ответ дан Tofystedeth 23 November 2019 в 02:54
поделиться

Так как Python установлен почти на каждой ОС не-Windows по умолчанию теперь, единственная вещь, в которой действительно необходимо удостовериться, состоит в том, что установлены все нестандартные библиотеки, которыми Вы пользуетесь.

Однако возможно создать исполняемые файлы, которые включают интерпретатор Python и любые библиотеки, которыми Вы пользуетесь. Это, вероятно, создаст большой исполняемый файл, как бы то ни было.

MacOS X даже включает поддержку в IDE XCode для создания полных автономных приложений для GUI. Они могут быть выполнены любым пользователем рабочий OS X.

6
ответ дан Matthew Schinckel 23 November 2019 в 02:54
поделиться

Для самого GUI:

PyQT является в значительной степени ссылкой.

Другой способ разработать быстрый пользовательский интерфейс состоит в том, чтобы записать веб-приложение, иметь выполненный локально и отобразить приложение в браузере.

Плюс, если Вы идете для опции Tkinter, предложенной lubos hasko Вы, может хотеть попробовать portablepy для имения выполнения приложения на среде Windows без Python.

5
ответ дан fulmicoton 23 November 2019 в 02:54
поделиться

Вам не нужно к компиляция Python для Mac/Windows/Linux. Это - интерпретируемый язык, таким образом, просто необходимо было установить интерпретатор Python в системе по Вашему выбору (это доступно для всех трех платформ).

Что касается библиотеки GUI, которая работает кросс-платформенная, библиотека Tk/Tcl виджета Python работает очень хорошо, и я верю, является достаточно кросс-платформенным.

Tkinter является интерфейсом Python к Tk/Tcl

От веб-страницы проекта Python:

Tkinter не является единственным инструментарием GuiProgramming для Python. Это - однако обычно используемое, и почти единственное, которое портативно между Unix, Mac и Windows

1
ответ дан Justin Standard 23 November 2019 в 02:54
поделиться

Я не уверен, что это - лучший способ сделать это, но когда я развертываю приложения для GUI Ruby (не Python, но имеет ту же "проблему", насколько .exe's затронут) в Windows, я просто пишу короткое средство запуска в C#, который обращается к моему основному сценарию. Это компилирует в исполняемый файл, и у меня тогда есть исполняемый файл приложения.

4
ответ дан Brian Warshaw 23 November 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: