python打包exe的方法

cxfreeze,pyinstaller,py2exe三种方式cxfreeze最简单,安装后脚本在python_home\Scripts下面执行pythoncxfreeze全路径要打包的py文件 –target-dir

大家好,又见面了,我是你们的朋友全栈君。

cxfreeze,pyinstaller,py2exe三种方式

目前网上能获取的免费的Python打包工具主要有三种:py2exe、PyInstaller和cx_Freeze。其中PyInstaller最新版只支持Python2.7,py2exe计划开发支持python3.x版本,但是目前还没有完成。只有cx_Freeze支持python3.X版本,也支持python2.X版本。个人也觉得cxfreeze比较简单,不容易出错。

cxfreeeze有几种文件形式,msi和whl。msi是安装包,直接双击运行,下载地址http://sourceforge.net/projects/cx-freeze/files/4.3.2/ 。whl是python安装包,安装格式:pip install whl文件地址,下载地址:    https://www.lfd.uci.edu/~gohlke/pythonlibs/

安装后cxfreeze执行脚本在python_home\Scripts下面

cxfreeze打包exe格式:

python cxfreeze全路径 要打包的py文件  –target-dir=

l例如:cxfreeze D:/hello.py –target-dir D:/123或python cxfreeze D:/hello.py –target-dir=D:/123

步骤:

        1、首先,下载本机器安装的python相应版本的cx_Freeze软件包

msi: https://www.lfd.uci.edu/~gohlke/pythonlibs/

whl:  https://www.lfd.uci.edu/~gohlke/pythonlibs/

2.安装

whl :pip install whl安装包

或msi双击安装

3、安装完成后,在python安装目录下的Scripts文件夹下,生成cx_freeze相关文件。

python打包exe的方法

cmd,进入该文件目录,然后键入

  1. cxfreeze –version  或者python cxfreeze –version

如果显示下图信息,说明安装成功!

python打包exe的方法

下面,就可以进行python程序打包了。

        4、新建一个python程序,例如:hello.py

在“C:\Python33\Scripts”目录(也就是cxfreeze命令所在的文件目录)下运行:

  1. cxfreeze D:/hello.py –target-dir D:/123  

就可以将D:/hello.py文件打包到D:/123目录下,生成hello.exe程序和相关依赖文件。

python打包exe的方法

当然,这是比较简单的程序,所以相关的依赖文件比较少,当引入外部包比较多的时候,并且希望只生成一个.exe文件的时候,可以使用如下的命令:

  1. cxfreeze D:/hello.py –target-dir D:/123 –no-copy-deps  

此时,发现只生成一个.exe文件。

python打包exe的方法

        5、如果要生成可安装包文件,则需要使用”distutils setup script“方式,也就是需要建立一个setupy.py文件的方式。

        这里,简单的建立一个setup.py文件,用于生成上述hello.py文件的可安装文件包“。

        python打包exe的方法
运行:

  1. python setup.py bdist_msi  

python打包exe的方法

执行成功之后,将在”C:\Python33\Scripts“目录下生成build和dist两个文件。

其中,dist文件夹中包含hello.py程序的安装包文件

python打包exe的方法

build文件夹下包含hello.py程序的可执行文件,也就是hello.exe

python打包exe的方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126710.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深入剖析通信层和RPC调用的异步化(上)

    深入剖析通信层和RPC调用的异步化(上)

    2021年6月19日
  • 机器学习发展历史回顾

    机器学习发展历史回顾其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。书的购买链接 书的勘误,优化,源代码资源机器学习是现阶段解决很多人工智能问题的主流方法,作为一个独立的方向,正处于高速发展之中。最早的机器学习算法可以追溯到20世纪初,到今天为止,已经过去了100多年。从1980年机器学习称为一个独立的方向开始算起,到现在…

    2022年5月29日
  • 为HttpStatusCodeResult添加customErrors

    为HttpStatusCodeResult添加customErrorsasp.netmvc的action返回值为HttpStatusCodeResult时的customErrors总是不起作用的解决办法

    2022年7月16日
  • 生活小感慨

    生活琐事开一篇文来记录生活2021/12/9阻挡我使我停滞不前的,是浮躁的心2021/8/16我也并不希望我的生活是一成不变的.2021/8/13挑战软肋2021/8/5感谢每一个编

    2021年12月13日
  • 用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    2020年11月8日
  • 100个Python练手小程序[通俗易懂]

    100个Python练手小程序[通俗易懂]100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去      掉不满足条件的排列。2.程序源代码:foriinrange(…

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号