1. 在主文件代码最开头加上:

import sys,os
if hasattr(sys, 'frozen'):os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

2.修改代码中配置文件,图标的路径,如下:

mdb_path = os.path.join(os.getcwd(),'DATA.mdb') ##将DATA.mdb 与最后生成的Exe放在同一路径下面即可。logo_path = os.path.join(os.getcwd(),'logo\logo.png')) #将logo.png放在Exe文件夹中的logo文件夹中

3. 生成spec:

pyi-makespec -F main.py

4. 编辑spec文件:

# -*- mode: python ; coding: utf-8 -*-block_cipher = Nonea = Analysis(['main.py'],pathex=['C:\\Users\\xxxxxxx'],binaries=[],datas=[('res','res')], #########################修改res文件夹hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,cipher=block_cipher)
exe = EXE(pyz,a.scripts,a.binaries,a.zipfiles,a.datas,[],name='main',debug=False,bootloader_ignore_signals=False,strip=False,upx=True,upx_exclude=[],runtime_tmpdir=None,console=True , icon='icon.ico')
##############需要命令窗口则console为true,否则为False, icon为exe的图标,必须为ico文件。

5. 生成EXE, pyinstaller -F main.spec

6. 生成exe在Dist文件夹中, exe与配置文件、图标放在其他电脑也可以执行。

当打包生成的EXE 启动运行很慢时,可以用以下的方式:

第1,2步同上。

3.直接用如下命令进行打包(cmd  cd到py路径下):

pyinstaller -D -w -i icon.ico main.py# -D 表示生成一个文件夹不是单一的Exe
#-i 给exe添加图标
# -w 运行时不出现 控制台  -c 出现控制台

4. 最后讲配置文件放在exe 同一文件夹内。

Note:

1.在打包过程中,如果控制台不动了,需要按enter。

2.如果打包完,在其他电脑上运行exe时报错: failed to excute scripts pyi_rth_tkinter。

solution: 在打包时,增加一条指令:

pyinstaller -D -w -i icon.ico --exclude-module=tkinter main.py

3.打包很慢,打包完文件很大?

经过测试,如果程序中import pandas numpy 会导致打包很慢,打包完EXE很大。 所以最好不要用pandas。

如果要用,使用from pandas import DataFrame,  不要直接import Pandas,会很慢很大。

Pyqt 利用pyinstaller打包(包含配置文件,图标等),解决打包慢,文件大的问题相关推荐

  1. python打包包含所有依赖_解决Python开发过程中依赖库打包问题的方法

    在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...

  2. cocos2d-x 3.4版本游戏打包AKP (重点记录如何解决打包过程中遇到的各种问题)

    主要记录下打包遇到的各种问题,主要讲解打包中遇到的问题如何解决.如果大家有何我同样的问题,希望能够帮到你. 过程 一 : 1. 配置环境变量 2.下载 ADT包含(eclipse和SDK)   NDK ...

  3. 利用pyinstaller将python项目脚本打包成可执行文件

    利用pyinstaller打包python项目 由于本文讲述还算比较详细,如果对pyinstaller有一定的了解,只需快速上手,可以直接跳到第四章结合实例进行操作. 1简介及安装pyinstalle ...

  4. 利用pyinstaller打包Python程序为一个可执行文件

    有时,Python发布的程序需要被打包为一个文件夹.甚至一个文件发布.目前(2020)最佳的策略是使用pyinstaller. pyinstaller不仅支持打包整个运行环境到一个可执行文件,而且还支 ...

  5. 利用pyinstaller打包python3程序

    pyInstaller是一款用于将pyhon程序打包成exe文件的工具,pyInstaller不是一个python的包, 只需要把pyInstaller的文件下载下来放到任意为止都可以,也就是说pyI ...

  6. python利用pyinstaller打包文件

    首先在命令行下载pyinstaller包 pip install pyinstaller 下载完成以后对应工程进行打包即可,步骤如下 1.想要对哪个工程打包,右键如图所示进行操作. 2.在命令框中输入 ...

  7. 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)

    我们编写的程序可以发给其他小伙伴使用,但是其他小伙伴不一定安装有python.这时候就需要用到打包啦.打包可以将程序打包成exe文件.然后小伙伴在windows平台里就可以运行(无需python).直 ...

  8. python生成exe运行慢_利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在"开源图像标注工具labelme的安装使用及汉化"这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件, ...

  9. maven打包忽略注解_maven打包包含注释

    maven打包之后为什么class文件中没有注释了 目标 1. 将依赖第三方jar包都打进去2. 将工程java 目录下所有文件夹和配置文件,包括资源文件都打入jar包,根据目录来3. 打出jar文件 ...

最新文章

  1. 邮件服务器SMTP概述
  2. 玩转Go语言之特殊的语法
  3. 中国大学生源质量排行榜150强
  4. OpenLDAP / Ubuntu 18.04 下 docker 版安装
  5. 【Linux】Linux用户、用户组、文件权限学习笔记
  6. Spring简介-Spring的优势
  7. flask使用tablib导出excel数据表
  8. Java注释和真实世界的Spring示例
  9. 利用blink+MQ实现流计算中的超时统计问题
  10. getlong_Java LocalDateTime类| 带示例的getLong()方法
  11. Centos7设置DNS开机启动
  12. 文档分析与识别技术回顾与反思
  13. Python学习笔记:闭包与作用域
  14. 【七】jmeter 连接 mysql 数据库(Jmeter 连接数据池)配置:JDBC Connection Configuration
  15. sklearn中的xgboost_RF/GBDT/XGBoost/LightGBM简单总结
  16. [APUE]进程关系(上)
  17. 御剑情缘服务器维护吗,御剑情缘常见问题 解决方法分享
  18. 海康威视录像机刷linux系统,海康硬盘录像机怎么刷机?详尽图文刷机教程刷机工具亲测100%好用...
  19. 算法分析稳定匹配问题c语言,算法-稳定匹配StableMatching
  20. 关于locahost:8080一直在等待却不报错

热门文章

  1. 树莓派 4G无线上网卡托+电信/移动4G SIM卡
  2. 【资源篇】【1】免费下载ieee论文详细方法
  3. OpenSocial 是什么
  4. pymongo count和count_documents效率对比
  5. 基本正则表达式与扩展正则表达式
  6. Objective-C向面向对象编程中添加了一个新概念:类别(categor)。
  7. 还不会漏洞上传吗?一招带你解决
  8. 洛谷 P4147 玉蟾宫 题解【悬线dp】
  9. 微信小程序中使用阿里巴巴图标库
  10. latex的图的排列方法_latex两幅图上下排列