python记录之程序打包成可执行文件exe
记录下使用pyinstaller将.py打包成可执行文件(.exe)过程
1、安装pyinstaller
pip install pyinstaller
2、执行打包操作
打开cmd进入.py存放的目录下 ,执行以下命令:
pyinstaller -F File.py
pyinstaller -F FileList.spec
File.py要打包的文件
打包过程中可能遇到的报错(尤其使用到pandas时)
RecursionError: maximum recursion depth exceeded while calling a Python object
如下图:
解决方法(网上搜索,验证有效):
执行pyinstaller -F File.py 之后在File.py 的同级目录下会生成一个File.spec的文件
用记事本或其它工具打开File.spec文件,在头部添加
import sys
sys.setrecursionlimit(1000000)
文件保存后,再执行pyinstaller -F File.spec 即可
3、打包后无法运行
闪退,程序用到了配置文件或运行需要读取其它文件
解决方法:将所需文件放在.exe同级目录下即可
报错:ModelNotFoundError:NO module named 'xxxxxx'
解决方法:
记下NO module named后面的内容
然后打开File.spec文件,在hiddenimports=[],中添加刚才记录的内容,如有多个,用逗号隔开
然后再执行pyinstaller -F File.spec 即可
问题:程序中如使用了pandas模块,生成的程序.exe会很大(几百兆),
目前还没有找到比较好的方法