pyinstaller打包心得
最近在用pyinstaller打包自己用tkinter制作的程序,这个打包程序真的是一个很大的坑,在这里便留下一点心得望能帮助到各位。
软件配置
系统是win10,使用的是anaconda的python3.7,最后用anaconda用转化成.py文件再进行打包。
环境使用是在conda内创建一个新环境。这一点很重要,旧环境可能包含很多不必要的第三方包,如果都进行打包,文件会很大,甚至可能直接导致打包失败。详情可参照
conda创建新环境
。
pyinstaller是从github上下载,
按照网上的各种说法
,直接pip下载的pyinstaller有很大的限制,所以从github上直接下载较好。这里附上pip的链接pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
打包过程
打包过程本人不在过多赘述,网上各种文章都很多,个人比较推荐
python利用pyinstaller打包简明教程
。
打包后程序无法运行
若上述软件、环境配置和打包过程无误,则打包后无法正常运行的BUG其实可以自行通过打包后弹出的__cmd__窗口查看。
cmd窗口怎么查看?在打包过程中一般都会使用这几种语法:
pyinstaller -F xxxx.py
pyinstaller -D xxxx.py
pyinstaller -F -w xxxx.py
pyinstaller -D -w xxxx.py
其中
-w
代表不显示cmd窗口,而此时的cmd窗口实际是对程序进程的反馈,如果在有UI界面(例如使用tkinter)直接选择不开启cmd窗口,则失去了了解程序错误的途径,反而无法debug。所以推荐在程序完全完成之前不使用
-w
命令。