1. Pyinstaller打包总结
自己使用pyinstaller打包一个谱聚类代码时(windows下pipenv虚拟环境):
1 首先对于代码的主程序文件生成用于打包的spec文件
pyi-makespec -F solve.py
注:-F是希望最后打包成一个单独的exe文件,可以在其他无python环境下直接运行。
2 对spec文件进行编辑
自己的代码的话,是根据了1,反正就是根据之前直接打包报的错误(主要是hidden-import和dll依赖),对spec进行编辑。
其中之前报错的库给他加到spec文件中的hiddenimports
里面,dll依赖的话,我在本机搜索到对应的dll文件,将其路径加入到了binaries
里面。
binaries=[('C:\\Users\\shieldforever\\.virtualenvs\\x-7Oc8sVI4\\Lib\\site-packages\\sklearn\\.libs\\vcomp140.dll','.')]
hiddenimports=['sklearn.neighbors.typedefs','sklearn.utils._cython_blas','sklearn.neighbors._quad_tree','sklearn.tree','sklearn.tree._utils','threadpoolctl']
3 通过spec进行打包
pyinstaller -F solve.spec
打包完成后,生成的dist文件夹中的solve.exe就是可以在无python环境下运行的exe文件了。
主要参考: Pyinstaller 打包发布经验总结 orz!