Python3.6 打包成 exe 遇到的一堆坑
不用pyInstaller和py2exe
一堆坑但都填了
近日用python写了一个小程序,写程序的过程还算顺利,但打包成exe发布给用户时却遇到了一堆坑。
我的配置及用到的包:
- Python3.6
- tkinter
- requests
- PIL
- lxml
- threading
寻找打包工具
网上一搜Python打包成exe,立刻出来一堆pyInstaller和py2exe,可是这两个软件对Python的支持实在差劲,或者说根本不支持Python3.6,反正我就没成功过,一直提示元组索引越界:
IndexError: tuple index out of range
最后网上看到说cx_freeze对python3支持较好,就试了一下。虽然最后成功了,但是还是遇到了一堆坑。
安装
遇到第一个坑就是安装,被这个坑坑得重装了一遍Python。
cx_freeze的安装很简单,只要
pip install cx_freeze
然后进入Python安装的文件夹中的Scripts文件夹
python cxfreeze-postinstall
安装就结束了,然而当我运行
cx_freeze -h
时,却得到提示:
F:\Program不是内部命令
原来我的Python在Program Files文件夹下,所以路径中有空格,就识别不出来了,据说可以通过配置环境变量啥的修复,但是我直接卸了Python重装到根目录了。
打包
搞了半天终于安装好了,直接运行cxfr