主要内容

利用pyinstaller将pytorch代码打包成exe其实含有比较多大的坑,这篇文章主要记录最近在项目中打包exe遇到的一些问题,由于问题主要是opencv和pytorch带来的,解决的办法和minist的pytorch程序差不多,这个minist程序我已经测试过,能够打包成功,并在没有python环境的电脑上成功运行:https://github.com/1240117300/MINIST。

出坑技巧一:安装匹配的包版本

这是虚拟环境中的安装包及对应的版本号,这张表就能差不多解决问题了,很多奇奇怪怪的问题,查了一堆资料之后,发现换一个包的版本就解决了。

出坑技巧二:从干净的虚拟环境中,只安装需要的包,能够有效减小打包文件的大小,并提高打包速度

这些安装目录在百度磁盘有,下载之后能够快速的部署深度学习环境

出坑技巧三:编写好spec文件

# -*- mode: python ; coding: utf-8 -*-import sys
import os.path as osp
sys.setrecursionlimit(5000)block_cipher = Nonea = Analysis(['airway_seg.py'],pathex=['E:\\MikeyNa\\pycode\\airtree_seg_xajd\\airway_deploy','E:\\MikeyNa\\pycode\\airtree_seg_xajd\\airway_deploy\\preprocessing','D:\\deeplearning\\Anaconda3\\envs\\airway_deploy\\Lib\\site-packages'],binaries=[],datas=[('baseline_fr_ad.ckpt','baseline_fr_ad.ckpt')],hiddenimports=['pydicom','models','preprocessing','full_prep','baseline_fr','data','option','prepare','split_combine_mj','trainval_classifier','utils'],hookspath=[],hooksconfig={},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, [],exclude_binaries=True,name='airway_seg',debug=False,bootloader_ignore_signals=False,strip=False,upx=True,console=True,disable_windowed_traceback=False,target_arch=None,codesign_identity=None,entitlements_file=None )
coll = COLLECT(exe,a.binaries,a.zipfiles,a.datas, strip=False,upx=True,upx_exclude=[],name='airway_seg')

出坑技巧四:从坑里爬出来,下面记录一些我遇到遇到的具体坑和解决办法

Multiprocessing error

windows下,当代码引入multiprocessing模块并使用pyinstaller打包时,会遇到exe死锁状态

原因:windows下multiprocessing模块设置有问题,在linux下没有这个问题,解决办法

from multiprocessing import freeze_supportif __name__ == '__main__':start_time = time.time()freeze_support()main()end_time = time.time()print('end airway segmentation, time %d seconds' % (end_time - start_time))

参考链接

使用pyinstaller打包多文件和目录的Python项目 - 是勇哥呀 - 博客园

总结使用pyinstaller打包pyqt5以及pytorch的各种坑_Nie_Hen的博客-CSDN博客_pyinstaller torch

嘗試使用Pyinstaller打包yolov5中detect.py文件(含pytorch框架)所遇到的問題

https://medium.com/@exexzxzpo/%E5%98%97%E8%A9%A6%E4%BD%BF%E7%94%A8pyinstaller%E6%89%93%E5%8C%85yolov5%E4%B8%ADdetect-py%E6%96%87%E4%BB%B6-%E5%90%ABpytorch%E6%A1%86%E6%9E%B6-%E6%89%80%E9%81%87%E5%88%B0%E7%9A%84%E5%95%8F%E9%A1%8C-543f5481b304

windows pyinstaller打包pytorch程序到exe文件相关推荐

  1. python打包成exe fail to ex_“failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误...

    在使用PyInstaller打包python程序,打包命令为: pyinstaller -F -w -i manage.ico yourpyfile.py 顺便说一下几个参数的作用 -F:是直接生成单 ...

  2. Pyinstaller打包 Pytest+Allure成exe文件执行时,报error: unrecognized arguments: --count=1,--alluredir=result错

    Pytest+Allure是一款非常经典的测试框架,堪称完美!!!,但是有时候,我们在测试过程中,当自动化任务很多,需要部署很多的机器去跑工程时,我们又不希望去频繁的部署安装Python环境,所以大部 ...

  3. 用pyinstaller打包pytorch环境下的深度学习模型,实现通过exe程序实现界面显示模型的分类效果

    用pyinstaller打包pytorch环境下的深度学习模型,实现通过exe应用实现界面显示模型的分类效果 训练深度学习模型和界面显示,看我之前的博客,链接在下面: 通过残差网络实现CLFAR-10 ...

  4. 解决用pyinstaller打包python程序,生成的.exe文件过大问题

    计算机是Windows 7旗舰版  32位操作系统. Anaconda3,32bit版本 python3.7 安装完 Pyinstaller,安装Pyinstaller的命令为:pip install ...

  5. pythonexe32位-如何使用pyinstaller打包32位的exe程序

    说明:原来安装的python为64位,故安装的pyinstaller和打包后的exe都为64位.而64位的exe文件在32位的win7操作系统下是无法执行的,显示不兼容.网上查询发现,简单(可能不方便 ...

  6. php程序打包exe文件下载,手把手教你把前端代码打包成msi和exe文件

    本文主要介绍Electron应用如何打包成msi和exe文件. 由于介绍Electron打包成msi和exe的文章很少,官方的文档也一笔带过,在研究的过程中踩了很多坑,所以写下此文,给其他人一个参考. ...

  7. 使用pyinstaller打包pyqt程序

    2019独角兽企业重金招聘Python工程师标准>>> 首先声明我的开发环境是windows+anconda,pyqt使用的是anconda自带的,没有单独再安装pyqt,下面上py ...

  8. Pyinstaller 打包 Pytest项目及资源文件

    目录 前言 纯Python代码的打包 包含其他文件的打包 总结 前言 相比于cx-freeze和Nuitka,还是pyinstaller好用些,因此使用pyinstaller来生成独立的exe文件以供 ...

  9. 将Java程序作成exe文件的几种方法【转载】

    看到网上有同志的介绍将Java程序作成exe文件的方法,写的不错,但是也许是这篇文章完成的时间比较早,许多内容已经不合适了.我在这里补充几条: 一.exe4j 说明:exe4j可以将Jar文件制作成e ...

最新文章

  1. linux 关闭打开的文件描述符,关闭它们后重新打开stdout和stdin文件描述符
  2. PHP 数组函数分类和整理
  3. 51nod 1256 乘法逆元(扩展欧几里得)
  4. 2012传统行业转型年:整合拓展互联网发展渠道
  5. android 将byte[]保存到手机
  6. java线程池(ThreadPool)
  7. ## CSP 201609-2 火车购票购买,C语言版(90分版)
  8. 【java学习之路】(数据结构篇)003.链表
  9. Mybatis 一对多
  10. 算法:顺时针遍历矩阵 螺旋矩阵转换为顺时针列表spiral matrix
  11. ssh1—xshell免密登录
  12. 计算机4级学那些课程,计算机四级考试科目是什么
  13. 计算机辅助设计课程设计评分标准,CAD考试规则评分标准.doc
  14. javassist官方文档翻译
  15. 传智播客JAVA培训 yongyou周小结
  16. PHPstudy使用教程
  17. VTN:视频Transformer网络
  18. 订餐小项目-(适合公司内部使用)
  19. 无敌python爬虫教程学习笔记(一)
  20. 一看就会!DS1302实时时钟原理和程序

热门文章

  1. 数据分析必备|你不得不知道的11款数据分析工具
  2. 陶泓达:周五黄金原油白银走势分析及操作建议
  3. OpenHarmony RK3568开发板烧写过程总结梳理
  4. 说一说要求 小程序自定义导航栏 的需求有多沙雕
  5. TCP粘包,拆包及解决方法、丢包的原因及解决办法
  6. Ubuntu下U盘没有不能新建粘贴文件 报错 [sdf] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
  7. html显示数组内容,在html表中显示js数组
  8. 阿里妈妈广告进入联合早报网
  9. vue解决h5 video视频 ios和安卓兼容问题
  10. Aspose最新版22.8教程