Python进阶(四十七)python3使用pyinstaller实现将py文件打包成exe文件_pyinstaller -p参数

总结一下

面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

JavaScript

性能

linux

前端资料汇总

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

2.1 Step1:下载pyinstaller
pip install pyinstaller

安装成功后,会在Python/Scripts文件夹下显示名为“pyinstaller.exe”命令文件。

2.2 Step2: 将待打包的py文件放到Python安装路径的Scripts下。

注意Scripts放置Python的各种第三方扩展包,这里的pyinstaller.exe在此处。

2.3 Step3:打包exe程序

步骤:

  1. 在cmd环境进入该Scripts文件夹路径下;
  2. 输入指令打包:pyinstaller - F **.py

在实际操作过程中,遇到了“import _win32sysloader ImportError:Dll load failed:找不到指定的模块”的问题,截图如下:

这里写图片描述

后来下载了Microsoft Visual C ++ 2010,之后成功解决问题。

干净的Windows 7 x86机器上安装Python 3.5,然后运行后pip install pyinstaller,得到了同样的错误。所以我分析_win32sysloader.pyd依赖关系Dependency Walker中,有一个依赖于MSVCR100.DLL文件,该文件是Microsoft Visual C ++ 2010再发行组件包的一部分。安装该软件包后,PyInstaller正常工作。

VC++ 2010安装好之后,在此执行打包命令,此时打包成功。打包时间大约为1-2分钟,取决于py文件的大小及依赖关系。

这里写图片描述

打好包之后,会在Scripts路径下生成两个文件夹:distbuild,如下图所示。

这里写图片描述

进入dist文件,发现生成的文件扩展名为.egg。这又是什么鬼?

这里写图片描述

经查阅,原来python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署。不知道怎么会生成.egg文件,尝试重新打包,再次打包发现在dist目录下生成了exe文件,具体原因还不知道怎么解释了…
这里写图片描述
进入dist文件,双击生成的exe可执行文件,会自动执行程序。

在为可执行文件生成图标时,执行以下语句:

pyinstaller --icon=C:\Users\SHQ\Desktop\VIP.ico -F waterSpider_main.py

但是在执行过程中,出现了“SRCPATH[..]”文件未找到及“struct.error: unpack requires a string argument of length 16”的错误。
这里写图片描述
这里写图片描述

首先先介绍一下ico文件,这对于理解其解决方案有很大帮助。

ico文件是windows下图片格式,我们看到的文件夹,执行文件等都有不同的图标显示,并且当我们切换视图模式(Thumbnails,Tiles,Icons, List, Details)时,文件的图标会以"不同"尺寸显示,确切的说,应该是不同的图标文件(尺寸亦不同)。ico文件里面可以有多个不同的图标文件以适应不同的视图模式,并且这些图标文件通常按尺寸大小的顺序存放。以windows XP/server 2003下支持的ico尺寸为16x16,32x32和48x48。vista/win7下则最多可以支持256x256。

问题关键在于ico文件中图标的顺序问题,XP和server 2003对顺序要求不高,无论是图标是按尺寸的正序还是倒序都可以正常显示,而然在vista/win7下确只能倒序。

如果你使用png2ico工具的工具的话,可以使用如下命令生成myicon.ico文件:

png2ico myicon.ico icon_128x128.png icon_64x64.png icon_48x48.png icon_32x32.png icon_16x16.png

要提醒的是png2ico生成的ico文件效果不是太好并且图标文件不能达到256x256,你不得不选择选择像248x248这样的尺寸来代替。推荐一个在线的转换工具ConvertIcon!,只是png2ico可以定义图标的顺序,而ConvertIcon!则是从小到大的顺序存储图标文件。但另一个ico编辑工具可以解决这个问题–Greenfish Icon Editor Pro(点击下载),该工具不仅可以编辑图标文件,而且可以修改图标文件的顺序。

三、Greenfish Icon Editor Pro生成icon图片

详细步骤如下:

首先:打开Greenfish Icon Editor Pro 软件并导入icon图片。

点击红色矩形框的icon选项->create icon from image 可以设置ico图片属性以及生成不同尺寸的icon图片,如下图:

总结一下

面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

JavaScript

性能

linux

前端资料汇总

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值