我是靠谱客的博主 幸福时光,最近开发中收集的这篇文章主要介绍记一次巨坑的pystrict+tkinter+pyinstaller项目场景:问题描述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目场景:

最近有个小需求,要求读取文件夹名字生成条形码,同时要做成可视化界面并打包成exe可执行文件

环境
anaconda(python3.8.8)
tkinter
pystrich
pyinstaller


问题描述

问题一

使用pyinstaller打包出来的程序过大
由于使用的是anaconda环境,而pyinstaller会把所有的依赖都打包进去,最后几百行的代码生成了2g多的巨无霸exe…

解决方法,另建一个环境,win+r —>cmd调出命令行窗口

conda create -n yourname(你的环境名) python=3.8.8(python版本自己指定)
activate yourname
pip installer xxx (安装你需要用到的库)
...
pyinstaller -w -n yourname(你的exe名字) xxx.py(单个程序的名字)

这样子打包只会打包出你导入的库/包


问题二

使用打开exe发现报错
在这里插入图片描述

解决方法:

  • 先检查是否已经导入了pywin32的包,可以在刚刚新建的环境中pip list就能看到所有已有的库/包
  • 巨坑的部分,本地没有相关的dll
    - 进入本地的环境D:AnacondaenvsyourNameLibsite-packagespywin32_system32,
    - 将里面的pythoncomxx.dllpywintypesxx.dll复制C:WindowsSystem32,重新打包即可

问题三

本地环境能生成并保存的条形码变成exe就不行了
在这里插入图片描述
出现这个问题的原因在于cannot find font file,缺失了字库文件导致图像生成错误。

解决方法:打开D:AnacondaenvsyourNameLibsite-packagesPILImageFont.py 搜索修改return load(os.path.join(directory, filename)) -->return load_default(),然后重新打包即可恢复正常

最后

以上就是幸福时光为你收集整理的记一次巨坑的pystrict+tkinter+pyinstaller项目场景:问题描述的全部内容,希望文章能够帮你解决记一次巨坑的pystrict+tkinter+pyinstaller项目场景:问题描述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部