Сегодня я начал изучать python. Я только когда-либо использовал PHP для разных вещей, и мне никогда не приходилось беспокоиться о создании exe-файлов.Python 3.4 GUI single executable
Использование некоторых интернет Python учебники программирования и немного моего собственного редактирования я пришел со случайным «Сколько раз вы щелкнули» приложения, как показано ниже
import winsound
from tkinter import *
class Application(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.pack()
self.counts = 0
self.create_widgets()
def create_widgets(self):
Label(self, text = "Test Label").pack()
self.button = Button(self, text = "click", command = self.update_text).pack()
self.result = Label(self, text = "Clicked 0 times")
self.result.pack()
def update_text(self):
self.counts += 1
self.result["text"] = "Clicked " + str(self.counts) + " times"
winsound.PlaySound('sound1.wav', winsound.SND_FILENAME | winsound.SND_ASYNC)
root = Tk()
root.title("Title")
root.geometry("300x120")
app = Application(root)
root.mainloop
Приложение работает нормально, но проблемы начались, когда Я попытался скомпилировать его в один файл exe по соображениям удобства, поскольку я намерен писать небольшие программы «сделать что-то более легкое». Py2Exe не хочет компилировать программу с bundle_files 1 вообще. PyInstaller скомпилировал его с -onefile, но при выполнении приложение дает вам не что иное, как ошибки tkinter.
Есть ли способ создания небольших файлов exe с графическим интерфейсом или это тупик? Я не собираюсь врать, но мне очень понравилась идея изучения python и возможности использовать его как в веб-приложениях, так и в настольных приложениях, что было не очень возможно в PHP.
Я использую Python 3.4 и тестировал встроенный py2exe и разработку PyInstaller для Python 3.3 - 3.4.
Edit: Образец setup.py для py2exe и ошибка
from distutils.core import setup
import py2exe
setup(windows=[{"script": "text.py"}],
options = {"py2exe": {"bundle_files": 1}
})
Ошибка
C:\Users\SEJBR\Desktop\Python>python setup.py py2exe
running py2exe
1 missing Modules
------------------
? readline imported from cmd, code, pdb
OOPS: tkinter 2
PyInstaller ошибка компиляции
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named 'Tkinter'
2515 ERROR: TCL/TK seams to be not properly installed on this system
Вы использовали аргумент window вместо консоли в py2exe? –
Да. Я использовал окна в настройках и bundle_files: 1 в настройках> options и py2exe дает отсутствующий модуль OOPS: ошибка tkinter 2 из-за bundle_files ниже 2. Но с bundle_files, превышающим 1, не говорится об одном исполняемом файле. Отредактировав вопрос и добавив образец py2exe setup.py и ошибку, я получаю с ним. – SEJBR
Я не знаком с py2exe, но используя PyInstaller, какие ошибки вы получили? – fhdrsdg