zoukankan      html  css  js  c++  java
  • 解决用pyinstaller打包python程序,生成的.exe文件过大问题【转】

    计算机是Windows 7旗舰版 32位操作系统。

    Anaconda3,32bit版本

    python3.7

    安装完 Pyinstaller,安装Pyinstaller的命令为:pip install pyinstaller

    通过pyinstaller -F dataConvert_v1.0.py命令生成的dataConvert_v1.0.exe文件有200多M大小,而源文件

    dataConvert_v1.0.py实际上只有6K大小。

    网上查找资料是说,因为“Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,导致打包后的.exe文件变得很大。” 因此可以使用 虚拟环境pipenv 来打包。

    pipenv是虚拟的python环境,即,它可以在电脑上某个文件夹下创建一个虚拟的python环境,这个环境和你用Anaconda安装的python是完全独立的,互相不影响。这个新建的虚拟的python环境里边包含的库非常少,你可以在里边安装你的.py源文件里

    需要的第三方库,然后打包成.exe,这时打包的.exe文件中不会被无缘无故添加一些不相关的库,因此会生成大小合适的.exe文件。

    使用 Pipenv打包步骤如下:
    1.安装 pipenv

    pip install pipenv

    2. cd到我们想要作为虚拟环境的文件夹下,比如我的是:D:data_dlpipenv,然后在该目录下执行:

    pipenv install --python 3.7

     

    这样就可以在D:data_dlpipenv目录下创建一个局部的环境了,在pipenv文件夹下会出现Pipfile文件。这里的3.7可以随意写。

    我这里是因为我的python开发环境是3.7版本。

    3.激活环境

    pipenv shell

    如上图。
    这时,我们就进入到了新建的虚拟环境。

    4. 查看已有的库(非必要)

    pip list

     

    可以看到虚拟环境里自带的库非常少,非常干净。

    5.安装自己的.py文件中所需要的第三方库

    因为一会需要用pyinstaller生成.exe文件,因此要安装pyinstaller。

    我的.py源文件中引用了openpyxl库,因此我需要安装的库如下:

    pipenv install pyinstaller

    pipenv install openpyxl

    如上图和下图:

     

    此时可以再用pip list查看虚拟环境中的库。

    6.利用pyinstaller 生成.exe文件

    把你的.py源文件拷贝到这个目录下面(我的是D:data_dlpipenv目录),执行 pyinstaller命令

     

     

    最终生成的.exe文件大小为6M左右。

     

     

    转自
    版权声明:本文为CSDN博主「RYOMARYOMA」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ryomaryoma/article/details/106238214

  • 相关阅读:
    Spring Boot mybatis-starter介绍
    Spring Boot starter原理
    Spring Boot starter介绍以及自定义starter
    Spring Boot conditional注解介绍
    Spring Boot 配置类3-流程核心方法doProcessConfigurationClass
    Spring Boot 配置类2-解析逻辑(processConfigBeanDefinitions方法中的循环体)
    Ubuntu14.04下安装docker
    ubuntu安装docker
    Spring Cloud 统一配置
    第四章 springboot + swagger
  • 原文地址:https://www.cnblogs.com/paul8339/p/14971881.html
Copyright © 2011-2022 走看看