• 最干净的pyinstaller打包成exe应用程序方法


    在anaconda环境下进行pyinstaller打包后,程序非常大,70行代码打包后有280MB,这是因为会将conda环境携带的库都打包进去导致的。为了获得更纯净的包环境,我们需要安装纯python环境,也就是缺什么包就安装什么包(pip install   pake_name),但是也发生了很多有意思的事情:

    一、安装纯净的python36

    最开始想偷懒安装 python34,但是最后需要安装pandas的时候,发现 全网都是python36环境下的,没辙只好再去下载python 36

    二、环境变量设置

    安装纯净的python36后(这个路径是单独的一个文件夹路径,比如C:/python36),将python36的pip路径加入到环境变量中(环境变量很多 分号别丢),我的pip.exe位置在C:/python36/Scripts,只要把这个环境加进去就好了。

    之后一并安装好所需的包,因为我只import pandas 库,所以在这种纯净环境下一共需要 pyinstaller  、pandas即可,所以一轮操作 直接 pip install pyinstaller   pip install pandas  然后就到了 pyinstaller  -F -i ./conpas.ico  Compare_dif.py 

    三、打包程序过程的错误

    1、执行 pyinstaller  -F -i ./conpas.ico  Compare_dif.py后也很顺利,程序只有22M,很满足,运行后发现了第一个dos下错误:ImportError: No module named openpyxl,好 那就pip install openpyxl,

    2、再次执行打包后运行,又跳出来了xlrd模块缺失,想了想 程序最后需要打开xlsx文件,嗯,又一次pip install xlrd

     3、再次执行打包后 又跳出来一个fin_list查找不到的提示,这个原因在于 fin_list是最后的一个结果,里面有drop的操作,用if判断,如果被drop_list空,那就直接输出,忘了做else操作

    程序修正前:

    程序修正后:

    最后完美通过。

  • 相关阅读:
    $().click()和$(document).on("click","selector",function(){})的区别
    orm 常用字段及参数
    前端vue 跨组件传参,cokies,axion
    drf 异常 响应 解析 三大模块
    drf 视图家族
    表断关系,和modlesserializers序列化,反序列化
    drf ___jwt插件
    drf 排序过滤分页
    django drf cors 跨域问题
    redis 数据库
  • 原文地址:https://www.cnblogs.com/mrtop/p/10591198.html
Copyright © 2020-2023  润新知