1、下载并安装pyinstaller库
(一)直接命令行安装

pip3 install pyinstaller

(二)或者通过官网下载包,然后本地安装
2、使用pyinstaller命令行进行打包
(一)含有依赖库的整个项目建议使用-D方式,含有打包目录,包括一些dlls应用程序扩展等。先-c有控制台,再-w无需黑窗控制台进行打包,logo.ico为自定义的exe图标,XXXX.py为主程序py文件。即:
先使用下面命令行打包:

pyinstaller -D -c -i logo.ico XXXX.py

步骤5后,再使用下面隐藏黑窗口的命令行,再次打包:

pyinstaller -D -w -i logo.ico XXXX.py

(二)也可以使用-F进行打包成单独的exe,打包速度比-D慢很多。其余文件意义同(一)

pyinstaller -F -c -i logo.ico XXXX.py   ##生成单独exe, -c有控制台黑窗
pyinstaller -F -w -i logo.ico XXXX.py  ##生成单独exe,-w无控制台黑窗

3、使用多线程文件进行打包时,需要同时出现多窗口,因此需要在主程序导入multprocessing,即在主程序加入以下语句。

import multiprocessing
.
.
.if __name__ == "__main__":####################多线程打包需要在主函数开始处添加multiprocessing.freeze_support()

4、打包之后,exe在dist文件夹下。出现的问题汇总:
(1)ModuleNotFoundError:No module name “xxx”
原因分析:这是缺少第三方库xxx
解决方法:可以在cmd或者pycharm的Terminal进行直接用pip安装这个库
(2)出现Hidden import not found “xxx”和 WARNING提示
原因分析:不会影响程序的正常运行,可以忽略这个警告
解决方法:忽略即可
(3)黑窗闪退
原因分析:一些库没有安装到或者打包时pyinstaller强行打包了一些不必要的库。
解决方法:打开.exe文件,通过查看命令符窗口报的错来解决。比如::将项目中一些必要的输入文件,配置文件等放入与exe同一级目录下。

5、将运行时出现的问题解决后,删除项目文件夹中的(pycache,build,dist,xxx.spec)文件

6、最后将包含exe文件的dist文件夹压缩成压缩包后,这样就可以到别的电脑中双击运行。

【最后,可以忽略这个,但是目前通过修改打包生成的配置spec已解决】
(1) 打包过程中,WARNING警告提示:

4377 WARNING: lib not found: torch_python.dll dependency of
D:\Software\Anaconda3\Path\envs\Yolov5-DeepSort-Pytorch\lib\site-packages\torch_C.cp38-win_amd64.pyd
4932 WARNING: lib not found: torch_cpu.dll dependency of
D:\Software\Anaconda3\Path\envs\Yolov5-DeepSort-Pytorch\lib\site-packages\torchvision_C.pyd
4936 WARNING: lib not found: c10_cuda.dll dependency of
D:\Software\Anaconda3\Path\envs\Yolov5-DeepSort-Pytorch\lib\site-packages\torchvision_C.pyd
4937 WARNING: lib not found: torch_cuda.dll dependency of
D:\Software\Anaconda3\Path\envs\Yolov5-DeepSort-Pytorch\lib\site-packages\torchvision_C.pyd
4938 WARNING: lib not found: c10.dll dependency of
D:\Software\Anaconda3\Path\envs\Yolov5-DeepSort-Pytorch\lib\site-packages\torchvision_C.pyd

(2) 修改方法
将下面四行插入.spec配置文件:

for d in a.datas:if '_C.cp38-win_amd64.pyd' in d[0]:a.datas.remove(d)break

(3)详细的.spec配置文件:

# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['main.py'],pathex=['D:\\Files'],binaries=[],datas=[],hiddenimports=[],hookspath=[],runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,cipher=block_cipher,noarchive=False)
####################################add
for d in a.datas:if '_C.cp38-win_amd64.pyd' in d[0]:a.datas.remove(d)break
####################################stop
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 )

在修改完配置文件之后,使用如下命令进行编译exe文件:
pyinstaller mult_car.spec

Pycharm项目使用pyinstalle打包过程中问题及解决方案相关推荐

  1. Unity4.x项目升级Unity5.0过程中出现的各种常见问题

    最近整理Unity4.x项目升级Unity5.0过程中出现的各种常见问题,与大家共享.1:Unity4.x项目中3D模型其材质丢失,成为"白模"?解决方案:手工重新赋值材质贴图. ...

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

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

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

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

  4. 安装包UI美化之路-打包过程中自动给安装包签名(防误报)

    总是有朋友反馈说,打包出来的程序会被360报毒! 嗯... 这是一个问题,360误报不是一天两天了. 原因及理论 被误报,一般是两个原因: 没添加代码签名 没有提交360认证(就是这么...) 问题即 ...

  5. Canesten 项目申请ICP备案过程中遇到的问题及知识点扩充

    遇到的问题:Canesten备案主体是Bayer *** Ltd., Shanghai Branch, 而提供的IP是 Bayer (China)limited,违背了电信要求的三一致原则,即备案主体 ...

  6. 项目迁移到OpenShift过程中遇到的问题总结

    目录 1. yaml 文件 ---Error: found character that cannot start any token 2. unrecongnized type:int32 3. 注 ...

  7. linux的scp命令用不了,scp命令及使用过程中常见问题的解决方案

    scp命令用于操作系统之间(Linux之间或者linux与windows之间)复制文件和目录. scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命 ...

  8. 计算机与scp通讯发生故障,scp命令及使用过程中常见问题的解决方案

    scp命令用于操作系统之间(Linux之间或者linux与windows之间)复制文件和目录. scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命 ...

  9. create-react-app 脚手架构建项目,搬砖过程中持续总结心得

    以前都没用过快速构建工具来搭react环境,这次通过学习来走一遍,并且记录下知识点(纯属个人愚见) 1.构建出现public文件目录 架手架 create-react-app demo 后生成publ ...

最新文章

  1. Express.js 中的 Sessions 如何工作?(译)
  2. 大数据时代的创新者们
  3. 【Java 笔记】 java 格式化输出
  4. SAP CRM 和 SAP Cloud for Customer 的表格列项目宽度调整的原理介绍
  5. asp.net链接mysql数据库------------【个人收集】
  6. [Vue.js] 基础 -- 案例之Tab选项卡
  7. stm32F1的 PA13/PA14/PA15/PB3/PB4 作为普通引脚使用
  8. 我的 Windows 电脑已经不用安全软件好多年了
  9. MySQL中锁的必要性_MySQL中的锁之一:锁的必要性及分类
  10. 拓端tecdat|R语言解释生存分析中危险率和风险率的变化
  11. Kaggle竞赛实战系列(一):手写数字识别器(Digit Recognizer)得分99.53%、99.91%和100%
  12. 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
  13. 华为手机传感器测试软件,华为P8拍摄能力测试 IMX278传感器到底魅力何在
  14. 小虎电商浏览器:拼多多层级有什么作用?多多参谋客服为你解答
  15. 《创新思维设计》自学报告#2 | 设计思维的特征
  16. 算法实验总结2019
  17. ie图标不见,恢复方法。。。。
  18. javascript的字面量
  19. 互联网迟到的80后:为什么中国出不了扎克伯格
  20. Redis集群清缓存

热门文章

  1. 博文推荐|通过 Apache Pulsar + ScyllaDB 构建实时聊天消息流
  2. 利用二分法查找 设计人与计算机猜数游戏,计算机游戏教学法第十一章.ppt
  3. 软件测试 -- 进阶 6 软件缺陷
  4. 多个audio连续播放
  5. 【易通慧谷】全渠道趋势下的建材家居供应链变革
  6. 重磅 | 深度学习“四大名著”发布!爱可可推荐!
  7. 红帽linux端口关闭,科学网—RHEL下关闭某个端口 - 孙鹏的博文
  8. android模拟器 平安行,携手MuMu模拟器,PC端畅游平安京
  9. 基于Android的APP开发可行性,基于Android的教育App的分析与实现
  10. Hadoop期末复习