使用cx_freeze把python打包exe示例
使用cx_freeze把python打包exe示例
发布时间:2016-12-28 来源:查字典编辑
摘要:需要使用到的文件wxapp.py,read_file.py,setup.py复制代码代码如下:#!/usr/bin/envpython#-*...

需要使用到的文件wxapp.py, read_file.py, setup.py

复制代码 代码如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#file: wxapp.py

import wx

import os

import sys

import read_file

class Frame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, parent=None, title='Hello from cx_Freeze')

panel = wx.Panel(self)

closeMeButton = wx.Button(panel, -1, 'Close Me')

wx.EVT_BUTTON(self, closeMeButton.GetId(), self.OnCloseMe)

wx.EVT_CLOSE(self, self.OnCloseWindow)

pushMeButton = wx.Button(panel, -1, 'Push Me')

wx.EVT_BUTTON(self, pushMeButton.GetId(), self.OnPushMe)

sizer = wx.BoxSizer(wx.HORIZONTAL)

sizer.Add(closeMeButton, flag=wx.ALL, border=20)

sizer.Add(pushMeButton, flag=wx.ALL, border=20)

panel.SetSizer(sizer)

topSizer = wx.BoxSizer(wx.VERTICAL)

topSizer.Add(panel, flag=wx.ALL | wx.EXPAND)

topSizer.Fit(self)

def OnCloseMe(self, event):

obj = read_file.PrintContent()

if getattr(sys, 'frozen', None):

path = os.path.dirname(sys.executable)

else:

path = os.path.dirname(__file__)

path = os.path.join(path, "read_file.py")

obj.show_content(path)

def OnPushMe(self, event):

wx.MessageBox('I was pushed!', 'Informational message')

def OnCloseWindow(self, event):

self.Destroy()

class App(wx.App):

def OnInit(self):

frame = Frame()

frame.Show(True)

self.SetTopWindow(frame)

return True

app = App(1)

app.MainLoop()

复制代码 代码如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#file: read_file.py

class PrintContent(object):

def show_content(self, path):

f = open(path)

for line in f:

print line

f.close()

复制代码 代码如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#file: setup.py

# A simple setup script to create an executable running wxPython. This also

# demonstrates the method for creating a Windows executable that does not have

# an associated console.

#

# wxapp.py is a very simple 'Hello, world' type wxPython application

#

# Run the build process by running the command 'python setup.py build'

#

# If everything works well you should find a subdirectory in the build

# subdirectory that contains the files needed to run the application

import sys

from cx_Freeze import setup, Executable

build_exe_options = {"optimize": 2,

"include_files": ["read_file.py"]}

base = None

if sys.platform == 'win32':

base = 'Win32GUI'

executables = [Executable(script='wxapp.py',

base=base,

targetName="Demo.exe",

compress=True,

icon="py.ico")]

setup(name='wxapp',

version='0.1',

description='Sample cx_Freeze wxPython script',

options = {"build_exe": build_exe_options},

executables=executables)

打开cmd进入代码所在目录,然后输入:

复制代码 代码如下:

python setup.py bdist_msi

然后会生成build和dist两个文件夹,build文件夹里存放的是exe可执行文件和所依赖的库,直接把整个文件夹复制给别人就可以通过双击exe文件运行了,dist文件夹下是build文件夹的安装程序,直接传dist文件夹下的安装包给朋友,朋友运行安装包后会得到和build一样的文件夹,路径由用户自己选择

至于setup.py里面的参数选项可以自己去官网查看相应的选项信息

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类