pyinstaller根据虚拟环境virtualenv进行打包,降低exe文件大小
问题:使用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文件大小的更多相关文章
- python + pyinstaller 实现将python程序打包成exe文件直接运行
pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...
- pyinstaller相关问题 & pygame文件打包成exe文件 & 武装飞船 & 飞机大战
自己照书写了一个飞机大战游戏的python程序,想把它打包成一个exe文件,在查阅相关教程并经过数次尝试后终于成功. 安装打包应用 pyinstaller 在cmd命令窗口下pip install p ...
- PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...
- 01.如何把.py文件打包成为exe,重点讲解pyinstaller的用法
1.应用场景 1.1 故事背景 我自己用python写了一个小程序发给其他同事用,给他的就是一个.py文件,不过他觉得比较麻烦,还要安装环境,他问我有没有简单一点的方式,我给一个exe文件,他就不用安 ...
- pyinstaller打包的exe太大?你需要嵌入式python玄学
pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...
- Pyinstaller(python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...
- Pyinstaller (python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...
- PyInstaller打包成exe可执行文件
PyInstaller 安装pyinstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码 ...
- 用Pyinstaller打包发布exe应用
有时候编写的Python程序依赖很多,如果要在不同服务器上安装python环境等东西有点得不偿失了.这时候可以使用pyinstaller和py2exe,能够将python程序打包成可执行的exe文件, ...
- pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误
python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...
随机推荐
- jsp传入servlet数据
面对老师的19级期末,要用到jsp传入servlet的数据传输,借鉴了其他人的代码,以下是我的程序 jsp界面: <%request.getSession().setAttribute(&quo ...
- Redis(安装、启动、测试、环境)
Redis 概述: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数 ...
- 关于联想对Jim博士的质疑
对Jim博士质疑的质疑 因为关注司马南,从他的空间里看到Jim博士和其龃龉,大致看了Jim博士头条里的文章,因为看到自己常用的EPICS,上午匆忙就写了上面的文. Jim博士是去年在头条上看到的,因为 ...
- bat脚本登陆ftp服务器
用bat脚本登录ftp服务器,下载指定文件. 第一次脚本,有问题,你发现了么? 由于每个">>"重定向符号之前都习惯用空格(python style),导致写道ftp. ...
- Mybatis Plus 框架项目落地实践总结
在使用了Mybatis Plus框架进行项目重构之后,关于如何更好的利用Mybatis plus.在此做一些总结供大家参考. 主要总结了以下这几个方面的实践. 基础设计 BaseEntity 逻辑删除 ...
- 【雅礼联考DAY01】数列
#include<cstdio> #include<map> using namespace std; typedef long long LL; const int N = ...
- JZOJ 2933. 【NOIP2012模拟8.7】找位置
题目大意 有 \(n(1 \leq n \leq 10000)\) 个城镇,由 \(1 \leq m \leq 50000\) 条无向道路连接.给出 \(k(1 \leq k \leq 5) 个超市\ ...
- RA维持期达标式减停生物制剂(DRESS研究)的18个月数据
标签:类风湿关节炎; TNF抑制剂; 达标式减停药物 RA维持期达标式减停生物制剂(DRESS研究): 18个月临床疗效与继续足量应用者相仿 电邮发布日期: 2016-01-14 由于缺乏对常规诊疗有 ...
- 探索 C 语言的指针
指针的概念 指针代表一个变量的内存地址,通过&可以拿到变量的内存地址.变量不等于指针,通过*可以拿到指针所指向的变量的值. 在 C 中,存在指针变量,指针变量的声明格式:int* varNam ...
- Postgresql索引浅析
一.摘要 1.索引是提高数据库性能的常用途径.比起没有索引,使用索引可以让数据库服务器更快找到并获取特定行.但是索引同时也会增加数据库系统的日常管理负担,因此我们应该聪明地使用索引. 2.索引其实就是 ...