怎么把python程序打包成可执行文件,python项目打包成exe
大蟒项目(包含多个大蟒文件)打包成可执行程序的扩展名文件
首先,我的文件结构是这样的:
实用工具箱是整个大蟒项目文件,里面包含包裹文件夹,rcat_images文件夹,主函数main.py
其中包裹里面包含若干巴拉圭文件,rcat里面是图片文件
此文是用pyinstaller完成的。
首先安装皮普皮普安装pyinstaller
1.将所有文件放于主文件夹下(这里是UTool),主文件夹里面可包含多个文件和文件夹
2.打开cmd,切换到实用工具箱路径下,输入:
先在控制台中输入chcp 65001(为了解决编码问题)
然后输入:pyi-makespec main.py
生成主规格文件
制作投机文件
#-*-模式:python编码:utf-8-*-block _ cipher=Nonea=Analysis([ main。py , D:\ \ Study \ \ python project \ \ UTool \ \ packs \ \ _ _ init _ _ .py , D:\ \ Study \ \ python project \ \ UTool \ \ packs \ \ auto _ open。py , D:\ \ Study \ \ python project \ \ UTool \ \ packs \ \ clike。py , D:\ \ Study \ \ python project \ \ u tool \ \ packs \ \ code _ reader。py , D:\ \ Study \ \ python project \ \ UTool \ \ packs \ \ complexity _ analyse。py , D:\ \ Study \ \ python project \ \ u tool \ \ packs \ \ control。py , D:\ \ Study \ \ python project \ \ python project \ \ UTool \ \ packs \ \ cs harp。py , D:\第一个列表中写所有的巴拉圭文件,与主要的一个文件夹的可以直接写文件名,不一个文件夹的需要写完整的文件路径。
(2)数据是中的元素是元组类型,元组的第一个参数是大蟒项目中数据文件(非巴拉圭文件)的路径,
第二个参数是数据在可执行程序的扩展名中保存此资源的文件夹名,要和项目中的文件夹名相同
(3)不包括里面可以填写不用的包名,这样打包以后会小点,例如:matplotlib等
(4)因为main.py是入口文件,所以被调用的其他巴拉圭文件的当前路径都是main.py文件的当前路径。所以在源代码中就一定要把main.py放到最外层的项目文件夹中。在main.py中饮用了其他巴拉圭文件,main.py文件要能在当前路径下找到其他文件。
如果出现:"导入错误:没有名为" sklearn.utils.cython_blas "的模块
如果包不见了,就加入。将此包添加到hiddenimports。
hiddenimports=[cython , sklearn , sklearn.utils._cython_blas ],
3.使用配置的规范文件生成exe:
pyinstaller -D main.spec
用-D做的Exe比用-F做的要快很多,因为-F把所有的dll文件打包成一个exe (-F此时exe会很大,加载很慢,所以建议用-D)。
4.生成的exe在dist的main中
5.单击运行exe。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。