1.Pyinstaller
通常我们都需要将算法部署到软件上,但python是解释型语言,与C++/C不同,部署起来有一定的难度。
目前主流的方法是采用pyinstaller进行软件的打包,也不排除将python封装成函数或者API,用其他的语言来调用。
1.首先要安装pyinstaller库,直接pip 安装
pip install pyinstaller
2.直接打包,其中-F表示打包成一个可执行的exe文件,-D表示生成一堆依赖相关的文件,包含exe。其实打包成一个exe,启动起来相当的慢,其原理是将其他依赖压缩进一个文件,运行的时候先解压,再执行程序,而-D的方法则会快很多。
pyinstaller -F -w main.py
若是需要加上图标则如下,其中AAA.ico与.py在同一目录。
pyinstaller -F -w -i AAA.ico main.py
2.一些问题
对于这些直接打包的程序,一般体量都比较大,像简单的print操作的py,打包出来一般就要40-50mb,而那些加入了大模型比较复杂的程序,其打包文件通常都是几个G以上,非常的不便携,这是因为打包的时候把一些不相干的依赖全部都打包进去了。那么有没有一种方法能够避免此问题呢? 我大约的看了一些其他方法 ,例如PY2exe ,这种方法最后的更新日期是2008年 ,不推荐,还有一种方法是创建虚拟环境进行打包。方法如下:
2.一些问题
直接上操作:
1.安装pipenv 在你的.py文件目录下shift+右键,选择终端和Powershell都可以。
2.创建虚拟环境 pipenv install --three 看到successfully create 则表示成功创建。
3.启动虚拟环境 pipenv shell 激活环境,看到如下字样则表示启动成功
4.安装相关的库依赖
对照着自己的库进行pip安装
最后用pip list 对比一下自己的库是否安装完全。
5.打包,还是一样的,先安装pyinstaller,再打包。
打包时间可能比较长,根据你电脑配置来的。
打包完成,打包的目录在如下位置
C:\Users\10441
注意: 若是程序中用到了某种文件,图片,表格,视频,或者模型,都需要放在打包后的exe文件目录下。确保路径正确。否则软件会直接崩溃。