基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法

【导读】

Python因具有简单易学、运行速度快、可移植性和可扩展性强等特点,近年来发展成了很热门的一门面向对象编程的语言。在面向工程应用做程序开发时,难免会遇到将开发好的程序封装/包装成一个可以直接在Windows下双击执行的可执行程序文件,因此本文以Python调用海康工业相机程序为例就该封装流程展开描述。

【步骤】

  1. 利用pip安装pyinstaller:Windows cmd命令行下输入“pip install pyinstaller”或其他方式进行该库的安装
    在这里插入图片描述

  2. 打开PyCharm软件及相应的需要封装的工程文件下的python文件(.py)
    基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法_第1张图片

  3. 打开PyCharm终端Terminal:依次点击View→Tool Windows→Terminal(或直接快捷键Alt+F12)
    基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法_第2张图片

  4. 终端栏Terminal中输入封装指令:“pyinstaller -F -w 文件名”(本文示例:“pyinstaller -F -w main_for_hik.py”),回车即可开始封装
    基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法_第3张图片

  5. 查看封装好的可执行程序文件(.exe):同级目录下的dist文件中即可看到封装好的main_for_hik.exe可执行程序文件,双击即可运行
    基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法_第4张图片
    在这里插入图片描述

=======================================================================
2021.10.21更
【补充内容】:
pyinstaller封装的相关参数说明
-F:打包成单个文件,也就是将脚本中所有用到的库都打包到一个单一文件中,也就是你要的exe文件,注意F是大写;
-w:没有加这个参数的话,运行程序时会弹出一个控制台(window下式cmd),加这个参数的话不会出现这个控制台;
-D:这个参数可以在程序运行出错时,输出错误信息,其实就是调试,在cmd中执行exe文件可以在cmd中看到完整的错误信息;
–icon:生成的exe的应用图标;
–hidden-import:不导入某些库/包。

【项目实战时遇到的问题及解决方式】:
针对一个用到YOLOv5(Pytorch架构)做螺栓检测定位的项目采用该封装方式,封装成功后运行exe遇到报错:ImportError:DLL load failed: 找不到指定的模块。报错界面如下图:
基于PyCharm集成开发环境下的Python文件(.py)封装成可执行文件(.exe)方法_第5张图片

参考了网上多篇技术贴(1)WARNING: file already exists but should not: C:\Users\workAI\AppData\Local\Temp_MEI132522\torch_C(2)【思路:将缺少的dll文件从库安装路径下找到然后放到’C:\Windows\System32’下,再设置环境变量路径】用pyinstaller打包pytorch遇到的问题(3)【思路:VS修复+重装scipy库】Python34 ImportError:Dll load failed:找不到指定模块?(4)【思路:注意Python和pyinstaller版本对应问题+其他相关库的版本问题】IMPORTERROR: DLL LOAD FAILED … 找不到指定的模块 此类问题解决方法(5)【思路:同(4)版本问题】#根本上解决# 使用 Pyinstaller 打包后 出现 lib not found 错误 (6)甚至重装了系统+VS2019+Python3.7.9+PyCharm2020 均未能解决该问题。

最终解决思路:
在本机电脑尝试完各种方法后,换其他电脑(区别是Python的配置环境不同:安装的库更完整)打包,最终发现打包成功且正常运行exe。对比发现:原电脑未安装PyQt5系列库,导致缺失相关dll文件,安装上PyQt5之后封装及运行流程一切正常!!!

启发:实际工程项目文件中,或许在现有配置环境下能够在Pycharm中正常运行Python程序,打包后运行exe便报错,则切记要检查是否有相关的【隐式调用的库】未安装!!!

到此,PyCharm下的Python封装成可执行文件的内容完美落幕。谨以此纪念一下折腾三四天的程序封装问题。

你可能感兴趣的:(Python学习,python,exe,windows,pycharm,计算机视觉)