将python文件打包成可运行程序
最近想将自己写的py文件打包成可运行的程序,上网查了后,目前有好几种方法可以将python文件打包成exe应用程序文件,例如py2exe,pyinstaller等,比较下来,还是觉得pyinstaller使用起来比较简单。
1、首先第一步下载安装pyinstaller,
如果已经安装过python3的用户比较方便,可以使用python3文件下的Scripts文件中的pip安装,python2好像没有,使用pip安装非常方便,首先用windows键+R键打开控制台(就是那个黑色命令框),然后找到python3\scripts下的pip文件,将他拉到黑色框上,它的地址自动输入,然后输入install pyinstaller就可以了,或者自己手动输入pip所在路径也可以
安装过程如下:(一般不会出现什么问题的)
2、找到你要转换的py文件路径,在该路径下打开cmd,然后输入pyinstaller -F 文件名.py,注意文件名称不能是中文,然后将会在该路径下产生几个文件夹,其中dist下就是exe文件,build跟_pycache_文件是可以删除的
3、pyinstaller有几个常用语法,比如pyinstaller -h查找帮助,--clean清理缓存,-D生成多个文件,-i file.ico(可执行文件的图标),结合-F file.py一起使用
4、下面是一些关于介绍上述的参数的使用方法:
-h, --help 查看帮助
-v, --version 查看 PyInstaller 版本
--clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成 dist 目录
-F, --onefile
在 dist 文件夹中只生成独立的打包文件第
-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过,site-packages目录下都是可以被识别的,不需要再手动添加
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >
指定打包程序使用的图标(icon)文件
PyInstaller 命令不需要在 Python 源文件中增加代码,只需要通过命令行进行打包即可。-F 参数最为常用,对于包含第三方库的源文件,可以使用-p 添加第三方库所在路径。如果第三方库由 pip 安装且在Python 环境目录中,则不需要使用-p 参数。
例子:
pyinstaller Hello.py 已成功实现将python文件转换为exe文件
pyinstaller -w main.py -p d:\myprog\test; d:\myprog\test\lib 已成功实现将多个python文件转换为exe文件-包含库文件(-w的目的是运行程序的时候不会出现dos窗口)多个路径可以使用;隔开。
pyinstaller -F -w main.py -p d:\myprog\test 已成功实现将多个python文件转换压缩为单个exe文件-这个才是最需要的(-w的目的是运行程序的时候不会出现dos窗口)
pyinstaller -F -w -i pic.ico main.py -p d:\myprog\test 已成功实现将多个python文件转换压缩为单个exe文件且在exe文件前面添加一个图标-这个才是最需要的(-w的目的是运行程序的时候不会出现dos窗口)
5、在打包后,一直出现弹窗报“failed to execute script main”。
最终使用“pyinstaller --hidden-import=pkg_resources -F main.py” 顺利打包。
注意:语句中的“-F”一定要大写