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

голоса
224

Python работает на нескольких платформах и может быть использовано для настольных и веб-приложений, таким образом, я делаю вывод, что есть какой-то способ, чтобы скомпилировать в исполняемый файл для Mac, Windows и Linux.

Проблема в том, я понятия не имею, где начать или как написать GUI с ним, кто-то может пролить некоторый свет на это и мне точку в правильном направлении, пожалуйста?

Задан 05/08/2008 в 23:26
источник пользователем
На других языках...                            


11 ответов

голоса
232

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

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

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

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

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

Один исполняемый (Windows)

  • py2exe - Наверное, самый популярный там ( PyInstaller также набирает популярность)

Один исполняемый (Linux)

  • Замораживание - работает точно так же , как py2exe но нацелена на платформу Linux

Один исполняемый (Mac)

  • py2app - опять - таки, работает как py2exe но нацелен на Mac OS
Ответил 05/08/2008 в 23:34
источник пользователем

голоса
47

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

http://www.pyinstaller.org/

Pyinstaller основан на Python Installer Гордон Макмиллана. Который больше не доступен.

Ответил 28/08/2008 в 09:41
источник пользователем

голоса
14

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

Ответил 15/08/2008 в 12:56
источник пользователем

голоса
11

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

Ответил 05/11/2008 в 16:53
источник пользователем

голоса
6

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

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

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

Ответил 06/08/2008 в 01:29
источник пользователем

голоса
4

Для самого графического интерфейса:

PyQT довольно много ссылка.

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

Кроме того, если вы идете по выбору Tkinter предложенной Любош hasko вы можете попробовать portablepy, чтобы ваше приложение работать на среде Windows, без Python.

Ответил 19/08/2008 в 10:45
источник пользователем

голоса
4

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

Ответил 15/08/2008 в 13:00
источник пользователем

голоса
2
# I'd use tkinter for python 3

import tkinter

tk = tkinter.Tk()
tk.geometry("400x300+500+300")
l = Label(tk,text="")
l.pack()
e = Entry(tk)
e.pack()

def click():
    e['text'] = 'You clicked the button'

b = Button(tk,text="Click me",command=click)
b.pack()

tk.mainloop()

# After this I would you py2exe
# search for the use of this module on stakoverflow
# otherwise I could edit this to let you know how to do it

py2exe

Затем вы должны использовать py2exe, например, привести в одну папку все файлы, необходимые для запуска приложения, даже если пользователь не Python на своем компьютере (я имею в виду окна ... для Apple OS нет необходимости исполняемого файла, я думаю, как это придет с питоном в ней без необходимости установки.

Создайте этот файл

1) Создание setup.py

с этим кодом:

от distutils.core настройки импорта импорта py2exe

Установка (консоль = [ 'l4h.py'])

сохранить его в папке

2) Положите вашу программу в той же папке setup.py положить в этой папке программы, которую вы хотите сделать его distribuitable: эс: l4h.py

пс: изменить имя файла (с L4H на все, что вы хотите, это пример)

3) Выполнить CMD из этой папки (на папку, щелкните правой кнопкой мыши + Shift и выбрать начальную CMD здесь) 4) написать в ЦМД:> питон setup.py py2exe 5) в DIST папке есть все необходимые файлы 6) вы может сжать его и распространить его

Ответил 31/01/2017 в 19:51
источник пользователем

голоса
1

PySimpleGUI обертывания Tkinter и работает на Python 3 и 2.7. Вы можете создавать собственные графические интерфейсы, которые используют все те же виджеты, которые вы найдете в Tkinter (ползунки, флажки, переключатели, ...). Код имеет тенденцию быть очень компактным и читаемым.

#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
    import PySimpleGUI as sg
else:
    import PySimpleGUI27 as sg

layout = [[ sg.Text('My Window') ],
          [ sg.Button('OK')]]

window = sg.Window('My window').Layout(layout)
button, value = window.Read()

Изображение создано из публикуемую кода PySimpleGUI

Как пояснили в PySimpleGUI документации , чтобы построить .EXE файл запуска:

pyinstaller -wf MyGUIProgram.py

Ответил 09/10/2018 в 12:30
источник пользователем

голоса
1

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

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

Tkinter это интерфейс Python к Tk / Tcl

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

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

Ответил 05/08/2008 в 23:40
источник пользователем

голоса
0

Вы можете использовать appJarдля разработки базовых GUI.

from appJar import gui

num=1

def myfcn(btnName):   
    global num
    num +=1
    win.setLabel("mylabel", num)

win = gui('Test')

win.addButtons(["Set"],  [myfcn])
win.addLabel("mylabel", "Press the Button")

win.go()

GUI при запуске

Обратитесь к документации на сайте appJar .

Установка производится с pip install appjarиз командной строки.

Ответил 08/06/2017 в 10:21
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more