美文网首页
使用pyinstaller打包python程序,打包后exe程序

使用pyinstaller打包python程序,打包后exe程序

作者: wangjun12214 | 来源:发表于2020-04-30 10:55 被阅读0次

    **需求分析**

    在我们写python程序的过程中,难免会遇到一些需求,比如给别人写一个小工具什么的

    但是除了写Python的,绝大多数人电脑里都没有Python编译器,所以打包成exe,让用户(windows)双击就可以打开,就非常方便了。

    那么说到打包,我们就需要用到python程序的打包工具pyinstaller了,这个包安装简单,使用同样简单。这里就不多做介绍了

    本人使用python的版本是3.7.6

    安装 pyinstaller

    pip3 install pyinstaller

    打包命令

    pyinstaller -F ./test.py

    今天主要要记录的是python打包成exe之后文件过大怎么解决。

    我给公司的业务写了个导数据库数据到excel的导报表工具,然后使用pyinstaller打包,打包之后发现程序足足55M,这超出预期太多。

    于是想办法就把程序里面的不需要的导入包都砍掉。。然鹅再次打包之后大小基本没变化。上网查了下资料,有人说,Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,要用纯净的Python来打包。

    查资料,需要用到pipenv虚拟环境,研究了一下。就不说废话了,直接上解决流程。

    解决问题

    打开windows的CMD

    1、安装pipenv

    pip3 install pipenv

    2、安装一个虚拟环境

    pipenv install

    3、进入虚拟环境

    pipenv shell

    4、在虚拟环境中安装你的程序中用到的模块,注意我们虚拟环境打包,那么我们还需要在虚拟环境安装pyinstller

    pip3 install openpyxl

    pip3 install pymysql

    pip3 install arrow

    pip3 install pyinstaller

    5、在虚拟环境开始打包

    pyinstaller -F "D:\test\test.py"

    6、运行完毕,查看打包完毕后的大小

    我的打包完成之后存在了这个路径。去把它取出来~

    效果很明显,只有6M了。很棒!

    虚拟环境还可以清空已安装的模块,比如你要打包其他的工具的时候想要一个纯净的空间

    你可以清掉你现有的模块,只需要一条命令即可。然后再进入虚拟环境安装你需要的模块即可~更多的命令pipenv使用说明只需要在cmd中运行pipenv命令即可get!

    pipenv clean

    这算是解决这个问题最快,最方便的方法了吧。比装个虚拟机,重装python环境要简单得多~

    新手刚学python,大家有什么问题可以下方留言互相交流~

    相关文章

      网友评论

          本文标题:使用pyinstaller打包python程序,打包后exe程序

          本文链接:https://www.haomeiwen.com/subject/wpfzwhtx.html