今天我开始学习python。我只使用过PHP来处理各种各样的事情,而且从不必费心去构建exe文件。
使用一些互联网Python编程教程和我自己的一些编辑,我想出了随机的#34;你点击了多少次"申请如下图所示
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错误。
有没有办法用GUI创建小的一个exe文件,还是死路一条? 我不会撒谎,但我真的很喜欢学习python的想法,并且能够在Web和桌面应用程序中使用它,这在PHP中是不可能的。
我正在使用Python 3.4并测试内置py2exe和开发PyInstaller for Python 3.3 - 3.4。
编辑: 示例setup.py for 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
答案 0 :(得分:0)
那么解决方法很简单..我降级到Python 2.7.9并且PyInstaller完美地编译了应用程序而没有任何问题。 我刚用过
from __future__ import print_function
from __future__ import division
使用Python 3.X打印功能并应用分区更改。如果有人想出真正的解决方案,请回答这个问题。