通过对源文件打包,Python程序可以在没有安装 Python的环境中运行,也可以作为一个独立文件方便传递和管理。
现在网上主流的打包方式有两种py2exe或者pyinstaller两款多平台的Python程序打包为exe的免费工具。
py2exe
py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具。
py2exe是发布在开源许可证下的。
安装:
下载并运行与你所安装的Python对应的py2exe版本的installer。
下载地址:http://www.py2exe.org/
运行:如果你有一个名为xxx.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚本例如xinxinchen.py,在其中的setup函数前插入语句import py2exe 。
- #xinxinchen.py
- from distutils.core import setup
- import py2exe
- setup(console=["xxx.py"])
结果:上面的命令执行后将产生一个名为dist的子目录,其中包含了xxx.exe,python36.dll,library.zip这些文件。
pyinstaller
安装pyinstaller:
1,在Windows中,pyinstaller依赖PyWin32,pypiwin32
如果在安装pyinstaller时使用的是pip或者easy_install会自动pypwin32,只需要手动安装Pywin32即可
安装命令:
pip install pywin32
下载地址:
GitHub版本,https://github.com/pyinstaller/pyinstaller/
官网下载地址,http://www.pyinstaller.org/
2.在Mac中,推荐使用一种Mac工具Platypus。
使用shell脚本调用python工具,然后将virtualenv和python工程均打包入app。
使用这种工具的优先是能将工程打包为app,不再是文件夹,图形化傻瓜式操作;缺陷是打包后的app体积比较大。
下载地址:
https://github.com/sveinbjornt/Platypus
注意:
如果是通过Pyinstaller打包Mac可执行文件,在修改spec文件时,不允许直接双击打开后编辑,需要使用类似sublime Text的编辑器编辑,否则会报莫名语法错误。
运行pyinstaller:在需要打包的文件目录下执行:pyinstaller xxx.py
成功打包:
执行完成后,将会生成dist和build两个文件夹。(文件生成位置与cmd起始位置有关)其中 ,build 目录是 pyinstaller存储临时文件的目录,可以安全删除。最终的打包程序在dist内部的python_test文件夹下。目录中其他文件是可执行文件python_test.exe的动态链接库。
如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了
常用参数的使用方法如下:
- h 查看帮助,来查看参数
--clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成dist文件夹,创建一个目录里面包含exe以及其他一些依赖性文件
-F, --onefile 在dist文件夹中只生成独立的打包文件
-i <图标文件.ico> 指定打包程序使用的图标(icon)文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
图标替换:
pyinstaller -F --icon=xinxinchen.ico SevenDigitsDrawV2.py
xinxinchen.ico 是一个图标名,和当前的SevenDigitsDrawV2.py文件在一起
ico图标文件获取
1.阿里巴巴矢量图库 http://www.iconfont.cn/
2.比特虫在线制作 http://www.bitbug.net/