1.安装pyinstaller
pip install pyinstaller
ps:如果提示:
可以采用cd到安装python中的Scripts路径,然后再使用pip安装pyinstaller
2.利用pyinstaller打包成exe
我的程序是checkfiles.py调用check_part1.py,同时还附加一个txt文件,在利用pyinstaller打包时,再dos窗口先cd到安装python中的Scripts路径,再使用pyinstaller命令:
pyinstaller -F XXX.py (选项)XXX.py 以此类推
例如: pyinstaller -F checkfiles.py -p check_part1.py
选项:
-F:表示生成单一的exe文件
-w:表示执行exe文件时去除背后的dos窗口 ps:建议最初试验时保留dos,可以查看是否有错误发生
-p:有些需要手动添加包的位置(dir1,dir2)多个地址时以分号分开
-i:加入图标
运行以后,会在Scripts目录下生成dist和build两个文件夹,exe在dist文件夹下。如果程序需要用到附加的文件则添加到dist文件夹中即可。
3.运行exe
有时候运行会出现错误,会在dos窗口显示(也就是不建议最初使用-w选项),比如我的问题是缺少一个库,所以在打包的时候语句应该改成:
pyinstaller -F checkfiles.py -p check_part1.py --hidden-import numpy.core._dtype_ctypes
numpy.core._dtype_ctypes为缺少的库的库名。
4.后续使用
只需要复制dist文件夹便可以在其他电脑上运行。
5.打包环境
因为后续需求,又对代码进行了修改然后再次打包。因为这次在conda环境下的python进行打包,导致打包文件特别大!原来只有18M+的变成了230M+(内心枯了),然后搜索发现在conda下打包会添加很多不必要的库,所以需要用较为纯净的python环境打包。
1.创建新的python虚拟环境
这个方法我失败了·····
2.利用非conda下的python打包
用自己笔记本打包的··成功辽