问题:使用pyinstaller打包后,发现打的exe特别大,有近200M,又没有用几个库,代码也很少,怎么会打出这么大的包呢?

分析:在pyinstaller打包的过程中,可以看到窗口中出现了很多本地其他库的名称,怀疑可能这个打包会把本地所有的库都打进去

解决:使用虚拟环境打包

虚拟环境中,只包含代码运行所需的第三方库,这样就不会用到本地的python环境了

先安装虚拟环境的库

pip3 install virtualenv

步骤:

1、准备一个目录用于放虚拟环境,如project1_virenv
virtualenv project1_virenv
2、进入虚拟环境目录的Scripts文件夹(存放虚拟环境库文件的地方)
cd project1_virenv/Scripts
3、在Scripts目录下激活虚拟环境,此时会进入虚拟环境中
activate
4、在虚拟环境中安装各种库
pip3 install pyinstaller # 用于打包
pip3 install pypiwin32 # 安装pyinstaller相关依赖
pip3 install xxxx # 安装代码所有需要的第三方库
5、将需要打包的代码或文件夹复制到Scripts目录中
6、在虚拟环境中进行打包
pyinstaller -F xxx.py(可输入py文件路径)
7、退出虚拟环境(取消激活)
deactivate
8、打包结束,exe在dist文件夹中

pyinstaller根据虚拟环境virtualenv进行打包,降低exe文件大小的更多相关文章

  1. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  2. pyinstaller相关问题 & pygame文件打包成exe文件 & 武装飞船 & 飞机大战

    自己照书写了一个飞机大战游戏的python程序,想把它打包成一个exe文件,在查阅相关教程并经过数次尝试后终于成功. 安装打包应用 pyinstaller 在cmd命令窗口下pip install p ...

  3. PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...

  4. 01.如何把.py文件打包成为exe,重点讲解pyinstaller的用法

    1.应用场景 1.1 故事背景 我自己用python写了一个小程序发给其他同事用,给他的就是一个.py文件,不过他觉得比较麻烦,还要安装环境,他问我有没有简单一点的方式,我给一个exe文件,他就不用安 ...

  5. pyinstaller打包的exe太大?你需要嵌入式python玄学

    pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...

  6. Pyinstaller(python打包为exe文件)

      需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...

  7. Pyinstaller (python打包为exe文件)

    需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...

  8. PyInstaller打包成exe可执行文件

    PyInstaller 安装pyinstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码 ...

  9. 用Pyinstaller打包发布exe应用

    有时候编写的Python程序依赖很多,如果要在不同服务器上安装python环境等东西有点得不偿失了.这时候可以使用pyinstaller和py2exe,能够将python程序打包成可执行的exe文件, ...

  10. pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误

    python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...

随机推荐

  1. 基于minikube快速搭建kubernetes单节点环境

    一.说明 本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务. 二.Mini ...

  2. OWASP 靶机下载

    OWASP靶机下载安装详细过程一. OWASP靶机下载二. VM虚拟机三. OWASP安装四. OWASP启动运行一. OWASP靶机下载下载地址:https://sourceforge.net/pr ...

  3. [代码审计基础 04]ssrf漏洞的利用&伪协议

    ssrf漏洞的利用&伪协议 0x1 SSRF原理解析 什么是ssrf SSRF (Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意URL链 ...

  4. ctf命令执行刷题

    web29 error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i" ...

  5. php中 mysql 中文乱码解决办法

     首先要保证是utf-8编码或者支持中文的编码 2.Windows下修改方法 MySQL安装目录下的my-default.ini改为my.ini文件 [client]节点 default-charac ...

  6. 权限维持之:DSRM 域控权限维持

    目录 1 修改 DSRM 密码 2 DSRM 域后门操作过程 3 DSRM 域后门防御 目录服务恢复模式(DSRM,Directory Services Restore Mode),是Windows服 ...

  7. Python 生成多个空列表 空List 空数组方法

    生成多个空列表在统计一些参数时候,需要生成多个空List,此时直接办法是: a = [] b = [] c = [] d = [] ... 简洁办法为: a, b, c, d = [[] for i ...

  8. KB 与 KiB

    字节(Byte)是计算机中存储数据的基本单位,每 8 位比特(bit)组成一个字节.各种信息在计算机中存储.处理至少需要一个字节.例如,一个 ASCII 码用一个字节表示,一个汉字用两个字节表示. 根 ...

  9. 使用Shapefile C Library读取shp文件并使用OpenGL绘制

    1. 概述 坐标数据是空间数据文件的核心,空间数据的数据量往往是很大的.数据可视化是GIS的一个核心应用,绘制海量的坐标数据始终是一个考验设备性能的难题,使用GPU进行绘制可有效减少CPU的负载,提升 ...

  10. LeetCode-1664 生成平衡数组的方案树

    题目描述 来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ways-to-make-a-fair-array 给你一个整数数组 nums .你需要选择 恰 ...