111.Python——基于pipenv打包PaddlePaddle的GUI项目

liftword2个月前 (03-14)技术文章19

飞桨PaddlePaddle是百度的深度学习框架,用来做一些项目还是非常不错。但是打包就是一件非常麻烦的过程。在文中有讲过打包问题。29.Python程序打包成可执行文件——常见疑难问题解决办法

本文是用pyinstaller来打包。由于开发环境安装很多三方库,相当于打包环境有些污染,所以这里使用pipenv来创建Python虚拟环境。保证干净的打包环境,也确保打包后的文件体积比较小。

安装配置启用pipenv

1、安装pipenv

 >pip install pipenv

2、新建目录,命令行下切换到该目录下,安装虚拟环境

如在D盘目录下新建env目录。切换到env目录下,输入命令

env>pipenv install

3、进入虚拟环境

env>pipenv shell

其他命令:

pipenv install xx::安装python包
pipenv uninstall xx::卸载python包
pipenv shell:进入虚拟环境(项目目录下)
exit:退出虚拟环境
pipenv graph:显示包依赖关系
pipenv --venv:显示虚拟环境安装路径

安装项目运行环境

这里以可视化推理预测系统为例,系统介绍可以参看:48.1.基于Python+PyQt5的可视化推理预测系统

本系统主要使用PaddlePaddle飞桨深度学习框架,UI设计使用的是PyQt5,模型训练使用的是PaddleX。

1、安装运行环境,库和相应的版本参看下面的requirements.txt文件内容

注意这几个库的版本会影响打包成功与否:

opencv-python==4.5.3.56,pandas==1.3.5,protobuf==3.19.0,pyinstaller==4.4,setuptools==53.0.0

altgraph==0.17.2
astor==0.8.1
Babel==2.10.3
bce-python-sdk==0.8.73
certifi==2022.6.15
chardet==5.0.0
charset-normalizer==2.1.0
click==8.1.3
colorama==0.4.5
cycler==0.11.0
decorator==5.1.1
et-xmlfile==1.1.0
filelock==3.7.1
Flask==2.1.2
Flask-Babel==2.0.0
Flask-Cors==3.0.10
fonttools==4.33.3
future==0.18.2
idna==3.3
importlib-metadata==4.12.0
itsdangerous==2.1.2
Jinja2==3.1.2
joblib==1.1.0
kiwisolver==1.4.3
lap==0.4.0
MarkupSafe==2.1.1
matplotlib==3.5.2
motmetrics==1.2.5
numpy==1.21.6
opencv-python==4.5.3.56
openpyxl==3.0.10
opt-einsum==3.3.0
packaging==21.3
paddle-bfloat==0.1.2
paddlepaddle==2.3.0
paddleslim==2.2.1
paddlex==2.1.0
pandas==1.3.5
pefile==2022.5.30
Pillow==9.2.0
protobuf==3.19.0
pycocotools==2.0.4
pycryptodome==3.15.0
pyinstaller==4.4
pyinstaller-hooks-contrib==2022.7
pyparsing==3.0.9
PyQt5==5.15.7
PyQt5-Qt5==5.15.2
PyQt5-sip==12.11.0
python-dateutil==2.8.2
pytz==2022.1
pywin32-ctypes==0.2.0
PyYAML==6.0
pyzmq==23.2.0
requests==2.28.1
scikit-learn==0.23.2
scipy==1.7.3
Shapely==1.8.2
six==1.16.0
threadpoolctl==3.1.0
tqdm==4.64.0
typing_extensions==4.3.0
urllib3==1.26.9
visualdl==2.3.0
Werkzeug==2.1.2
xmltodict==0.13.0
zipp==3.8.0

打包结果说明

项目打包后的大小为:189MB。体积已经算是比较小的。能成功脱离环境运行。

程序运行界面


在打包的过程中,可能还会有很多问题。本文只是提供一种成功的方法。如果有相同的问题,可以留言或私信。

相关文章

一文学会用PyInstaller把Python 程序打包成一个独立的可执行文件

PyInstaller 是一个 Python 库,它可以将 Python 源代码和依赖的模块打包成一个可执行文件或者一个压缩包,这样就可以在没有安装 Python 解释器或任何模块的环境中运行您的程序...

PyOxidizer:将 Python 应用打包成单一可执行文件的神器

三、PyOxidizer 基本使用使用 PyOxidizer 打包应用的基本流程如下:1. 创建新项目首先,我们使用 pyoxidizer init 命令创建一个新的 PyOxidizer 项目:py...

python打包exe指南来了,pyinstaller打包教程

代码编写完成,如何在没有python环境的电脑上运行?编写了一个GUI程序,如何把文件打包好,发给别人直接使用?其实最简单的办法就是把.py源文件,打包成可执行程序员exe文件,别人直接双击exe文件...

30s带你使用Python打包exe文件,并修改其图标

在 Python 中,我们可以使用PyInstaller或cx_Freeze等工具将 Python 脚本打包成可执行文件(.exe),并且能够修改生成的.exe文件的图标。使用 PyInstaller...

Python 项目代码写完了,然后怎么打包和发布?

你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」...

Python打包可执行文件汇总

前言 Python里面 有很多好用的功能,这些功能有时候在其他语言中暂时没有好的替代品。考虑到其他语言跟Python集成效果并不太完善,这时候可以把对应的Python功能打包成exe可执行文件,提供给...