加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Python打包exe措施的高效处理赏罚要领

发布时间:2021-05-27 04:56:11 所属栏目:编程 来源:互联网
导读:但python的运行情形伟大,编写的措施每每是借助了许多附加的成果库来实现,对简朴的打包会造成必然坚苦。本人也是在经验了多次的打包失败和乐成的经验之后,认为

但python的运行情形伟大,编写的措施每每是借助了许多附加的成果库来实现,对简朴的打包会造成必然坚苦。本人也是在经验了多次的打包失败和乐成的经验之后,认为pyinstaller的乐成率最高,以是有须要针对pyinstaller写一篇避坑指南。

一、安装

行使python的pip安装,在cmd窗口,行使pip install pyinstaller,即安装完成。然后设置好情形变量。

二、行使

譬喻在措施6.py地址文件夹打开cmd窗口。一样平常输入pyintaller -F **.py(呼吁符的详细寄义在下文中表明),回车即开始打包。顺遂的话,会呈现打包乐成的反馈,如下图,这时,就声名文件已经打包完成了。dist文件夹内里就放着打包完的exe措施,行使时剪切出来就行了。假如命运好可能自己措施较量简朴,那这个exe就能在任何电脑运行了。

但每每没这么轻易,pyinstaller在行使中有许多坑,打包的开始,也是修补的开始。

三、遇坑填坑

1.文件路径中不能呈现中文

不然会在打包进程中直接呈现如下报错。这时只要把地址文件夹和措施名字改成英文可能数字从头打包即可。可以打包完再将exe的名字改返来。

2.缺傲蛹入hook文件

偶然纵然打包乐成了,在运行exe时辰,照旧会有报错并闪退。

假如报错为:FileNotFoundError: [Errno 2] No such file or directory:……

那是穷乏hook文件,要在pyinstaller的安装路径里的hook增进一个自界说的hook。hook文件的定名类型为: hook-【库名】.py。譬喻以我在打包措施顶用告终巴分词这个成果库为例,那我要成立一个hook-jieba.py,并写入:

from PyInstaller.utils.hooks import collect_data_files  

datas = collect_data_files("jieba") 

然后放到~Libsite-packagesPyInstallerhooks中去,再次运行pyinstaller打包既可办理该题目。

3.缺傲蛹入成果库模块

假如报错为 no moduler named “pandas._libs.skiplist”,那就要手动import库,办理要领打开天生的spec文件,找到 hiddenimports=[],加上要添加的库,将其窜改如下,hiddenimports=["pandas._libs.skiplist"],然后删除dist内里的exe文件,从头用spec文件打包,pyinstaller **.spec。即可办理该题目。

四、花式打包

涉及到打包的几个重要参数如下。

 -F,将全部内容打包到一个exe中,利便发送,一样平常都行使这个参数。

 -c,此为windows体系的默认选项,行使这个参数,运行时会有一个黑窗节制台。

 -w,行使这个参数,运行时不会呈现黑窗节制台。

 -i  行使这个参数用于天生自界说图标的exe,在这后头要加上ico图片的地点。譬喻,pyinstaller -i D:iconsdemo.ico **.py

五、结语

将措施打包成exe发送出去可能供用户下载,是一个较量传统的撒播方法,而且较量粗笨,着适用简朴的H5可能小措施就能实现一样的结果,对用户而言也更利便,也是朝着轻应用的偏向成长。另外,对付专业用户还能通过github和api等方法撒播。跟着收集见识的深入民气和5G期间到来,信托有更好的方法能更安详、快捷、私密地将器材的成果转达给所必要的用户。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读