python – Cx_freeze exe故障排除

python – Cx_freeze exe故障排除,第1张

概述我使用wx python和boa构造函数编写了一个应用程序.此应用程序将类实例存储在有序字典中(我导入odict)并最终将数据存储在本地计算机上的搁置中.   应用程序按我的预期运行,所以我想分发它.   以前,我已经使用过pyinstaller但是已经知道python 2.6目前还没有完全支持(由我验证因为我的* exe不起作用)所以我切换到了cx_freeze.我新编译的exe似乎运行正常,但 我使用wx python和boa构造函数编写了一个应用程序.此应用程序将类实例存储在有序字典中(我导入odict)并最终将数据存储在本地计算机上的搁置中.
  应用程序按我的预期运行,所以我想分发它.
  以前,我已经使用过pyinstaller但是已经知道python 2.6目前还没有完全支持(由我验证因为我的* exe不起作用)所以我切换到了cx_freeze.我新编译的exe似乎运行正常,但不会创建搁置文件.查看构建文件夹中的库文件,我没有看到odict模块.我看到搁置了.似乎这是问题,但我不知道为什么不会自动包含odict.运行应用程序时没有错误,所以我不确定如何找到问题.任何提示或建议将真诚地感谢.

在Windows XP上使用python 2.6.6,wx python 2.8.11,cx_freeze 4.2.2.

我写了这个例子来尝试确定它是否会编写搁置文件,并且在运行cx_freeze之后它不起作用….

import wximport sysimport osimport shelvedef create(parent):    return Frame1(parent)[wxID_FRAME1,wxID_FRAME1button1,] = [wx.NewID() for _init_ctrls in range(2)]class Frame1(wx.Frame):    def _init_ctrls(self,prnt):        # generated method,don't edit        wx.Frame.__init__(self,ID=wxID_FRAME1,name='',parent=prnt,pos=wx.Point(557,369),size=wx.Size(400,250),style=wx.DEFAulT_FRAME_STYLE,Title='Frame1')        self.SetClIEntSize(wx.Size(392,223))        self.button1 = wx.button(ID=wxID_FRAME1button1,label='button1',name='button1',parent=self,pos=wx.Point(0,0),size=wx.Size(392,223),style=0)        self.button1.Bind(wx.EVT_button,self.Onbutton1button,ID=wxID_FRAME1button1)    def __init__(self,parent):        self._init_ctrls(parent)    def Onbutton1button(self,event):        filename='c:\MakeAShelve.db'        data=[1,2,3,4]        database=shelve.open(filename)        database['data']=data        database.close()if __name__ == '__main__':    app = wx.PySimpleApp()    frame = create(None)    frame.Show()    app.MainLoop()

我运行的设置如下,并作为python setup.py构建执行

import sysfrom cx_Freeze import setup,Executableincludefiles=[]exe=Executable(     script="ShelveTesting.py",base="win32gui",)setup(     name="TimingDiagram",version="0.2",description="An Excel Based Timing Diagram Application",options={'build_exe':{'include_files':includefiles}},executables=[exe]     )
解决方法 您始终可以手动包含此类模块

build_exe_options = {'packages': ['os','sys','shelve'],'include_files':includefiles}options = {"build_exe": build_exe_options}

注意!!
使用wxpython时需要特别注意.
http://wiki.wxpython.org/cx_freeze

总结

以上是内存溢出为你收集整理的python – Cx_freeze exe故障排除全部内容,希望文章能够帮你解决python – Cx_freeze exe故障排除所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1196441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存