网站建设人员的工资分配wordpress 批量文章
网站建设人员的工资分配,wordpress 批量文章,住房和城乡建设部网站监理合同,公司建网站多少钱qcjxkd这是一个很长的故事#xff0c;嫌长的直接看最后的结论事情经过上周接了个需求#xff0c;写了个小工具给客户#xff0c;他要求打包成exe文件#xff0c;这当然不是什么难事。因为除了写Python的#xff0c;绝大多数人电脑里都没有Python编译器#xff0c;所以打包成exe…这是一个很长的故事嫌长的直接看最后的结论事情经过 上周接了个需求写了个小工具给客户他要求打包成exe文件这当然不是什么难事。因为除了写Python的绝大多数人电脑里都没有Python编译器所以打包成exe让用户windows双击就可以打开也算是必备技能了。 直接用Pyinstaller打开cmder:pyinstaller -Fw E:testurl_crawler.py -F 是打包成一个文件-w是不出现调试窗口因为我的小工具里有GUI所以不用默认的调试窗口 等了好久终于完成打包一看文件嚯200M怪不得打包了这么久... 上网查了下资料有人说Anaconda里内置了很多库打包的时候打包了很多不必要的模块进去要用纯净的Python来打包。 有点道理想着装虚拟机时间更长准备拿出闲置的笔记本重新装个Python来打包。 可刚巧我最近在学flask的时候用到pipenv虽然还不懂pipenv的强大之处但知道它是个管理虚拟环境和包的工具于是想着能不能用pipenv来创建一个新的python编译器以运行pyinstaller进行打包。 于是赶紧上网查了一下pipenv pyinstaller没有搜到有用的信息干脆自己试一试反正pipenv操作不麻烦。 打开cmder:#建立虚拟环境
pipenv install
#进入虚拟环境
pipenv shell
#安装模块
pip install 小工具.py里面用到的模块
#打包的模块也要安装
pip install pyinstaller
#开始打包
pyinstaller -Fw E:testurl_crawler.py 打包完成一看大小11M成功 后来因为客户改了需求我又改了一下源代码然后换了个目录用pipenv重新打包结果打包完又变回200M尝试了无数次怎么也回不到过去的20M我都怀疑之前的20M是我的幻觉了。 不过无论如何要先交差200M的“小“工具用户体验肯定不行所以我就用排除法看看是哪个模块占的体积大再想办法优化。最先怀疑的是GUI我几乎毫不犹豫地认定是它我用的是PySimpleGUI强烈推荐基于tkinter)先把PySimpleGUI的内容注释掉再进行打包你们猜打包完有多大 198M 看来是我错怪他了经过几次排除发现了罪魁祸首就是fake_useragent 这个库是用来伪装请求头的主要是我懒得复制user-agent所以问题不大把fake_useragent注释掉自己手动粘贴一个user-agent就行了#from fake_useragent import UserAgent#ua UserAgent()
#headers {user-agent:ua.random}
headers {user-agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36} 不用fake_useragent打包成exe是 14M已经不错了先交差再说 之后经过了多次探索多次放弃的边缘反复删除创建环境终于找到了完美打包的方法结论 关键点就一个要在虚拟环境里安装pyinstaller 如果你没有在虚拟环境中安装pyinstaller你同样可以使用pyinstaller命令但是调用的是你系统原本的那个python编译器内含很多关联库导致即使在虚拟环境中你打包的exe文件仍然非常大。 另外一点要注意的是要在虚拟环境里安装好你py文件中调用的库不然打包出来也没法正常运行。 最后再复习一下正确流程 (前提是安装好pipenv#建立虚拟环境
pipenv install
#进入虚拟环境上一步可省略,因为没有虚拟环境的话会自动建立一个
pipenv shell
#安装模块
pip install requests pyquery pysimplegui fake_useragent
#打包的模块也要安装
pip install pyinstaller
#开始打包
pyinstaller -Fw E:testurl_crawler.py
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88553.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!