使用cx_freeze把python打包exe示例

 更新时间:2014年01月24日 15:39:20   作者:  
这篇文章主要介绍了使用cx_freeze把python打包成exe的示例,大家参考使用吧

需要使用到的文件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实现获取磁盘剩余空间的2种方法

    Python实现获取磁盘剩余空间的2种方法

    这篇文章主要介绍了Python实现获取磁盘剩余空间的2种方法,结合具体实例形式分析了Python操作计算机硬件的相关实现技巧,需要的朋友可以参考下
    2017-06-06
  • 在PyCharm中实现关闭一个死循环程序的方法

    在PyCharm中实现关闭一个死循环程序的方法

    今天小编就为大家分享一篇在PyCharm中实现关闭一个死循环程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python pipreqs工具生成requirements.txt文件使用详解

    python pipreqs工具生成requirements.txt文件使用详解

    这篇文章主要为大家介绍了python pipreqs工具生成requirements.txt文件使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 在Windows下安装配置CPU版的PyTorch的方法

    在Windows下安装配置CPU版的PyTorch的方法

    这篇文章主要介绍了在Windows下安装配置CPU版的PyTorch的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • python3序列化与反序列化用法实例

    python3序列化与反序列化用法实例

    这篇文章主要介绍了python3序列化与反序列化用法,实例分析了Python3使用pickle模块针对字符串进行序列化操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python使用requests及BeautifulSoup构建爬虫实例代码

    Python使用requests及BeautifulSoup构建爬虫实例代码

    这篇文章主要介绍了Python使用requests及BeautifulSoup构建爬虫,介绍了具体操作步骤和实例代码等相关内容,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下
    2018-01-01
  • Python实现将视频按照时间维度剪切

    Python实现将视频按照时间维度剪切

    这篇文章主要为大家详细介绍了如何利用Python实现将视频按照时间维度进行剪切,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 使用Python进行体育竞技分析(预测球队成绩)

    使用Python进行体育竞技分析(预测球队成绩)

    这篇文章主要介绍了用Python进行体育竞技分析(预测球队成绩),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 没有安装Python的电脑运行Python代码教程

    没有安装Python的电脑运行Python代码教程

    你有没有遇到过这种情况,自己辛苦码完了代码想发给别人运行看效果,可是对方竟然没安装Python,这要怎么运行呢?本篇文章带你解决这个问题,需要的朋友快来看看
    2021-10-10
  • python导包的几种方法(自定义包的生成以及导入详解)

    python导包的几种方法(自定义包的生成以及导入详解)

    这篇文章主要介绍了python导包的几种方法(自定义包的生成以及导入详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论