打包的过程主要参考PyInstaller打包详解

多线程bug

build过程不报错,运行exe之后弹出空的命令行窗口,调出任务管理器发现main.exe在不停的启动进程。

查阅pyinstaller文档之后发现可以开启debug模式,把 main.spec文件修改为debug=True,然后重新

pyinstaller main.spec

生成debug模式的可执行文件,双击运行main.exe后打印出命令行,可以看到程序抽风,反复的调用我的main.py

[8828] PyInstaller Bootloader 3.x
[8828] LOADER: executable is E:\code\vision_sensor\dist\main\main.exe
[8828] LOADER: homepath is E:\code\vision_sensor\dist\main
[8828] LOADER: _MEIPASS2 is NULL
[8828] LOADER: archivename is E:\code\vision_sensor\dist\main\main.exe
[8828] LOADER: No need to extract files to run; setting extractionpath to homepath
[8828] LOADER: SetDllDirectory(E:\code\vision_sensor\dist\main)
[8828] LOADER: Already in the child - running user's code.
[8828] LOADER: Python library: E:\code\vision_sensor\dist\main\python37.dll
[8828] LOADER: Loaded functions from Python library.
[8828] LOADER: Manipulating environment (sys.path, sys.prefix)
[8828] LOADER: sys.prefix is E:\code\vision_sensor\dist\main
[8828] LOADER: Pre-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[8828] LOADER: Setting runtime options
[8828] LOADER: Initializing python
[8828] LOADER: Overriding Python's sys.path
[8828] LOADER: Post-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[8828] LOADER: Setting sys.argv
[8828] LOADER: setting sys._MEIPASS
[8828] LOADER: importing modules from CArchive
[8828] LOADER: extracted struct
[8828] LOADER: callfunction returned...
[8828] LOADER: extracted pyimod01_os_path
[8828] LOADER: callfunction returned...
[8828] LOADER: extracted pyimod02_archive
[8828] LOADER: callfunction returned...
[8828] LOADER: extracted pyimod03_importers
[8828] LOADER: callfunction returned...
[8828] LOADER: Installing PYZ archive with Python modules.
[8828] LOADER: PYZ archive: PYZ-00.pyz
[8828] LOADER: Running pyiboot01_bootstrap.py
[8828] LOADER: Running pyi_rth__tkinter.py
[8828] LOADER: Running pyi_rth_traitlets.py
[8828] LOADER: Running pyi_rth_pkgres.py
[8828] LOADER: Running pyi_rth_win32comgenpy.py
[8828] LOADER: Running pyi_rth_pyqt5.py
[8828] LOADER: Running pyi_rth_mplconfig.py
[8828] LOADER: Running pyi_rth_mpldata.py
[8828] LOADER: Running pyi_rth_multiprocessing.py
[8828] LOADER: Running main.py
[20904] PyInstaller Bootloader 3.x
[20904] LOADER: executable is E:\code\vision_sensor\dist\main\main.exe
[20904] LOADER: homepath is E:\code\vision_sensor\dist\main
[20904] LOADER: _MEIPASS2 is E:\code\vision_sensor\dist\main
[20904] LOADER: archivename is E:\code\vision_sensor\dist\main\main.exe
[20904] LOADER: SetDllDirectory(E:\code\vision_sensor\dist\main)
[20904] LOADER: Already in the child - running user's code.
[20904] LOADER: Python library: E:\code\vision_sensor\dist\main\python37.dll
[20904] LOADER: Loaded functions from Python library.
[20904] LOADER: Manipulating environment (sys.path, sys.prefix)
[20904] LOADER: sys.prefix is E:\code\vision_sensor\dist\main
[20904] LOADER: Pre-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[20904] LOADER: Setting runtime options
[20904] LOADER: Initializing python
[20904] LOADER: Overriding Python's sys.path
[20904] LOADER: Post-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[20904] LOADER: Setting sys.argv
[20904] LOADER: setting sys._MEIPASS
[20904] LOADER: importing modules from CArchive
[20904] LOADER: extracted struct
[20904] LOADER: callfunction returned...
[20904] LOADER: extracted pyimod01_os_path
[20904] LOADER: callfunction returned...
[20904] LOADER: extracted pyimod02_archive
[20904] LOADER: callfunction returned...
[20904] LOADER: extracted pyimod03_importers
[20904] LOADER: callfunction returned...
[20904] LOADER: Installing PYZ archive with Python modules.
[20904] LOADER: PYZ archive: PYZ-00.pyz
[20904] LOADER: Running pyiboot01_bootstrap.py
[20904] LOADER: Running pyi_rth__tkinter.py
[20904] LOADER: Running pyi_rth_traitlets.py
[20904] LOADER: Running pyi_rth_pkgres.py
[20904] LOADER: Running pyi_rth_win32comgenpy.py
[20904] LOADER: Running pyi_rth_pyqt5.py
[20904] LOADER: Running pyi_rth_mplconfig.py
[20904] LOADER: Running pyi_rth_mpldata.py
[20904] LOADER: Running pyi_rth_multiprocessing.py
[20904] LOADER: Running main.py
[3940] PyInstaller Bootloader 3.x
[3940] LOADER: executable is E:\code\vision_sensor\dist\main\main.exe
[3940] LOADER: homepath is E:\code\vision_sensor\dist\main
[3940] LOADER: _MEIPASS2 is E:\code\vision_sensor\dist\main
[3940] LOADER: archivename is E:\code\vision_sensor\dist\main\main.exe
[3940] LOADER: SetDllDirectory(E:\code\vision_sensor\dist\main)
[3940] LOADER: Already in the child - running user's code.
[3940] LOADER: Python library: E:\code\vision_sensor\dist\main\python37.dll
[3940] LOADER: Loaded functions from Python library.
[3940] LOADER: Manipulating environment (sys.path, sys.prefix)
[3940] LOADER: sys.prefix is E:\code\vision_sensor\dist\main
[3940] LOADER: Pre-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[3940] LOADER: Setting runtime options
[3940] LOADER: Initializing python
[3940] LOADER: Overriding Python's sys.path
[3940] LOADER: Post-init sys.path is E:\code\vision_sensor\dist\main\base_library.zip;E:\code\vision_sensor\dist\main
[3940] LOADER: Setting sys.argv
[3940] LOADER: setting sys._MEIPASS
[3940] LOADER: importing modules from CArchive
[3940] LOADER: extracted struct
[3940] LOADER: callfunction returned...
[3940] LOADER: extracted pyimod01_os_path
[3940] LOADER: callfunction returned...
[3940] LOADER: extracted pyimod02_archive
[3940] LOADER: callfunction returned...
[3940] LOADER: extracted pyimod03_importers
[3940] LOADER: callfunction returned...
[3940] LOADER: Installing PYZ archive with Python modules.
[3940] LOADER: PYZ archive: PYZ-00.pyz
[3940] LOADER: Running pyiboot01_bootstrap.py
[3940] LOADER: Running pyi_rth__tkinter.py
[3940] LOADER: Running pyi_rth_traitlets.py
[3940] LOADER: Running pyi_rth_pkgres.py
[3940] LOADER: Running pyi_rth_win32comgenpy.py
[3940] LOADER: Running pyi_rth_pyqt5.py
[3940] LOADER: Running pyi_rth_mplconfig.py
[3940] LOADER: Running pyi_rth_mpldata.py
[3940] LOADER: Running pyi_rth_multiprocessing.py
[3940] LOADER: Running main.py

参见pyinstaller官方文档中的描述
使用多线程模块multiprocessing时,必须在程序入口加入代码

if __name__ == '__main__':# Pyinstaller fixmultiprocessing.freeze_support()# 以下写主要代码main()

这样改过之后再打包就能运行exe了。

记录pyinstaller打包过程中遇到的坑相关推荐

  1. Android studio安装过程中入的坑的记录与记录

    Android studio安装过程中入的坑的记录与记录 * 由于最近项目的需求,所以最近一直在配置安卓的开发环境,之前用的是Eclipse + ADT的模式开发的,配置环境也花了一些时间,但是由于谷 ...

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

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

  3. Pyinstaller 打包程序踩过的坑(1.Failed to execute script ;2.No module named typedefs等问题)

    Pyinstaller 打包程序踩过的坑(1.Failed to execute script ;2.No module named typedefs:3 Could not find or load ...

  4. postgreSQL与postGIS安装过程中遇到的坑及解决

    记录一下postgreSQL与postGIS安装过程中遇到的坑及解决 写到前面 postgreSQL安装 postgreSQL安装包下载 postgreSQL安装 postGIS的安装 postGIS ...

  5. Pycharm项目使用pyinstalle打包过程中问题及解决方案

    1.下载并安装pyinstaller库 (一)直接命令行安装 pip3 install pyinstaller (二)或者通过官网下载包,然后本地安装 2.使用pyinstaller命令行进行打包 ( ...

  6. Windows系统下使用pyinstaller打包PaddleOCR中表格识别PP-Structure

    Windows系统下使用pyinstaller打包PaddleOCR中表格识别PP-Structure 一.系统环境及PP-Structure简述 二.安装Python环境与PP-Structure ...

  7. MutipartFile使用过程中遇到的坑

    MutipartFile使用过程中遇到的坑 MutipartFile是spring里面定义的接口,它封装了用户在上传图片时所包含的所有信息,但是有些时候我们要将file转换成MutipartFile, ...

  8. Storm编译打包过程中遇到的一些问题及解决方法

    Storm编译打包过程中遇到的一些问题及解决方法 参考文章: (1)Storm编译打包过程中遇到的一些问题及解决方法 (2)https://www.cnblogs.com/panfeng412/p/s ...

  9. cph = CoxPHFitter()训练过程中遇到的坑以及画图

    画图报错:会报valueError,原因是可能画图软件没有达到指定版本; 解决方案:(1)更新plt,安装最新的到0.17;可能还会需要安装最新的lifelines; DataFrames的画图: 参 ...

最新文章

  1. MongoDB readConcern 原理解析
  2. layui下拉框怎么获取自定义值_layui select获取自定义属性方法
  3. 【leetcode】443. String Compression
  4. 前端学习(3038):vue+element今日头条管理-使用请求拦截器
  5. Java如何随机出石头剪刀布_JAVA编程实现石头剪刀布
  6. python字典{:4}_升级您的Python技能:检查字典
  7. CentOS7安装无线管理软件Wireless Tools for Linux
  8. Hotdog 热狗大战
  9. 国美易卡线上操作流程,国美易卡利用科技力量
  10. 拼音字母匹配排序php,小程序实现仿通讯录,拼音字母排序
  11. linux公社大量免费的在线android资料
  12. Mongoose操作mongoDB的详细步骤
  13. 我手机中的舍不得删除的48条笑话,条条经典!! (转自猫扑)
  14. miui10android系统耗电,小米声势浩大的MIUI10 系统升级只是更换个主题并且更加耗电?...
  15. sklearn 中F1-score的计算
  16. php执行who命令,Linux中的who命令实例介绍
  17. IIB接收SAP请求配置
  18. android 字体颜色 渐变色,Android渐变色处理
  19. 洛谷P3799 妖梦拼木棒 题解
  20. Discuz!目录结构

热门文章

  1. ug许可证错误未连接服务器10004,ug12许可错误,服务器未连接-10004ug打开报错 | 老伙计...
  2. 【swarm测试极简指南】升到0.6.2,报found current localstore schema code的答疑。
  3. 7月29日绝地求生服务器维护,绝地求生7月29日正式服维护公告内容一览
  4. LeetCode第 377 题:组合总数 IV(C++)
  5. 解决时代光华挂课程序出现验证码的问题(时代光华挂课程序篇二)
  6. proxyServer squid / varnish / apache traffic server / ATS
  7. 戴尔易安信AMD霄龙服务器全球首发!
  8. C语言怎么判断字符YN,c语言中的宏_详解(转)
  9. 是在人和计算机对话过程中,( )是在人和计算机对话过程中以人机交换方式辅助决策者探求可能的方案,生成管理者决策所需要的信息...
  10. 国家重点实验室分布转