我决定尝试使用 gui2exe 来制作我的可执行文件,但我无法让它工作,PyInstaller、Py2exe 或 cxFreeze 都没有。它创建了一个非启动可执行文件(我运行它,它开始加载,然后它停止加载,什么都没有,任务管理器在进程中没有它)。
当 gui2exe 让我测试已编译的项目并且我点击“是”时,我收到以下错误:“该项目从未编译过或它的可执行文件已被删除。”
当我通过批处理文件或 cmd 编译时,不会发生这种情况。
请提供有关使用 gui2exe 的任何帮助、指南、手册和文档!
- 我在 Windows 7 32bit 上运行它
- 蟒蛇 2.7
- GUI2exe-0.5.1
- 我安装了 pyinstaller-1.5.1、py2exe-0.6.9、cx_freeze-4.2.3
更新:这是我正在使用的测试代码:文件 Tk_tester.py (这是主要的)
# -*- coding: mbcs -*-
from Tkinter import *
import ttk
from ScrolledWidgets import ScrolledText
root = Tk()
root.title('Gui2exe tester application')
txt = ScrolledText(root)
txt.pack(side='top', fill='both', expand=1)
txt.Text['font'] = ('Tahoma', 10)
b = ttk.Button(root, text='Quit', command=root.quit)
b.pack(side='bottom', anchor='e')
root.mainloop()
和文件 ScrolledWidgets.py
# -*- coding: mbcs -*-
from Tkinter import *
import ttk
class ScrolledText(ttk.Frame):
def __init__(self, master, scrolls = 'v'):
ttk.Frame.__init__(self, master)
self['relief'] = 'sunken'
self['borderwidth'] = 1
self.rowconfigure(0, weight = 1)
self.columnconfigure(0, weight = 1)
self.__scroll = scrolls
self.Text = Text(self, relief = 'flat', borderwidth = 0)
self.Text.grid(column = 0, row = 0, sticky = 'news')
if self.__scroll == 'v':
yscroll = ttk.Scrollbar(self, orient = 'vertical')
yscroll.grid(column = 1, row = 0, sticky = 'ns')
self.Text['yscrollcommand'] = yscroll.set
yscroll['command'] = self.Text.yview
elif self.__scroll == 'h':
xscroll = ttk.Scrollbar(self, orient = 'horizontal')
xscroll.grid(column = 0, row = 1, sticky = 'ew')
self.Text['xscrollcommand'] = xscroll.set
xscroll['command'] = self.Text.xview
elif self.__scroll == 'both':
yscroll = ttk.Scrollbar(self, orient = 'vertical')
yscroll.grid(column = 1, row = 0, sticky = 'ns')
self.Text['yscrollcommand'] = yscroll.set
yscroll['command'] = self.Text.yview
xscroll = ttk.Scrollbar(self, orient = 'horizontal')
xscroll.grid(column = 0, row = 1, sticky = 'ew')
self.Text['xscrollcommand'] = xscroll.set
xscroll['command'] = self.Text.xview
这编译好了。但是当我运行生成的 exe 时,我得到一个“ImportError:没有名为 carchive 的模块”。
我已经尝试过一个只有控制台的应用程序——它运行正常。